Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   PHP (https://forum.zone-game.info/forumdisplay.php?f=125)
-   -   mysql OR (https://forum.zone-game.info/showthread.php?t=14432)

flashboom777 03.06.2011 10:30

mysql OR
 
ВОбщем нужно сделать выборку в запросе SELECT, ГДЕ(WHERE) онлайн=0 OR онлайн=1.


WHERE char_templates.RaceId='0' AND (characters.online='0' or characters.online='1')". (это пример), я сделал так. но н еработает.

НА правельность указание Имя таблицы в БД не обращайте внимания, мне надо узнать как верно указать OR при условии WHERE.

Azagthtot 03.06.2011 10:35

Re: mysql OR
 
во-первых, используйте алиасы. т.е.
Код:

select c.char_name from
characters c
where c.online=0 OR c.online=1

В привиденном примере с - алиас
Во-вторых, я смотрю (по тому куску который вы дали) вы используете JOIN c char_templates.
Возможно у вас просто "кривоватые" условия объединения?

flashboom777 03.06.2011 10:42

Re: mysql OR
 
PHP код:

        SELECT count(0
        
FROM characters
        LEFT JOIN character_subclasses ON character_subclasses
.char_obj_id characters.obj_Id AND character_subclasses.isBase='1'
        
LEFT JOIN char_templates ON character_subclasses.class_id char_templates.ClassId 
        WHERE char_templates
.RaceId='0' AND characters.access_level='0'", 

Мне над чтоб извлекал всех аров где Аксес=0 и/или аксес=1. Вобщем всех у кого прива 0 и 1 показывало.

Azagthtot 03.06.2011 10:52

Re: mysql OR
 
Код:

SELECT count(*)
                FROM characters c
                LEFT JOIN character_subclasses cs ON cs.char_obj_id = c.obj_id AND cs.isBase=1
                LEFT JOIN char_templates ct ON cs.class_id = ct.ClassId  and ct.RaceId=0
                WHERE c.access_level in (0,1)

Во первых, в where лучше писать условия к основной таблице (понятнее), во-вторых, точно LEFT JOIN? а не INNER?

flashboom777 03.06.2011 13:59

Re: mysql OR
 
Azagthtot, Спасибо! Уже не нада данная штука. Но все таки для познания:

Это отрывок с Стресса, так что точно=) прост мне над было чтоб в статистики отображались обычные чары и админы(та мдля кое-чего), но уже не надо=) Может так будет яснее, что я хочу. Хотелось бы все таки узнать как сделать одновременно 2условия на один столбец.

Azagthtot 03.06.2011 14:29

Re: mysql OR
 
col1 = 'AAA' OR col1 = 'BBB'
OR так же эквивалентен col1 in ('AAA','BBB')

flashboom777 03.06.2011 14:49

Re: mysql OR
 
Вот в том то и дело. Ятак пробывал, но что-тонепашет, поэтому спрашиваю на форуме. Ну лан и на этом спасибо. ТАм если что разберусь.


Текущее время: 08:01. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot