MYSQL-запрос с использованием OR и AND в одном предложении - PullRequest
1 голос
/ 18 февраля 2012

Мне нужна помощь в написании запроса, который проверит первое выражение и, если оно истинно, проверит следующее выражение.Что-то вроде:

SELECT 
  name 
FROM 
  names 
WHERE 
  (tag_id = 1 OR tag_id = 2) AND (tag_id = 3 OR tag_id = 4)

Пытался использовать подзапросы с if и существует, но безуспешно.

Любая помощь?Спасибо,

1 Ответ

3 голосов
/ 18 февраля 2012

Чтение между строк немного, возможно, что-то вроде этого:

SELECT n1.name
    FROM names n1
        INNER JOIN names n2
            ON n1.name = n2.name
    WHERE (n1.tag_id = 1 OR n1.tag_id = 2)
        AND (n2.tag_id = 3 OR n2.tag_id = 4)
...