Как использовать и с несколькими или условием? - PullRequest
0 голосов
/ 15 июня 2019

моя цель, где qq пусто И соответствует ab с условием ИЛИ.

SELECT
    xyz
FROM
    admin 
WHERE
    qq = ''
    AND ab LIKE 'some1' 
    OR ab LIKE 'some2' 
    OR ab LIKE 'some3'

Ответы [ 4 ]

3 голосов
/ 15 июня 2019

В зависимости от вашего сопоставления, этот конкретный запрос может быть написан так:

SELECT xyz
 FROM col_admin 
WHERE qq = ''
  AND ab IN('some1','some2','some3')

В более общем случае достаточно проницательного использования скобок ...

SELECT xyz
  FROM col_admin 
 WHERE qq = ''
   AND ( ab LIKE 'some1' 
      OR ab LIKE 'some2' 
      OR ab LIKE 'some3'
       )
1 голос
/ 15 июня 2019

Использование in:

WHERE qq = '' AND ab IN ('some1', 'some2', 'some3')

Вы не используете подстановочные знаки, поэтому нет необходимости использовать LIKE.

Вы не понимаете, как AND и OR работают вместе.Поскольку вы еще не понимаете приоритет (пока), используйте скобки, когда в ваших условиях есть AND и OR.

1 голос
/ 15 июня 2019

Синтаксис скрипта будет следующим. Это гарантирует, что QQ будет пустым и соответствует любому тексту.

SELECT xyz
FROM col_admin 
WHERE qq = ''
AND (ab LIKE '%some1%' OR ab LIKE '%some2%'  OR ab LIKE '%some3%')
0 голосов
/ 15 июня 2019

Вы можете сделать это, поставив скобки в условие

SELECT
    xyz
FROM
    col_admin 
WHERE
    qq = ''
    AND (ab LIKE 'some1' 
    OR ab LIKE 'some2' 
    OR ab LIKE 'some3')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...