PHP/SQL: ВЫБЕРИТЕ 2 столбца 3 раза с разными значениями


Я хочу дважды ВЫБРАТЬ 2 столбца с разным значением

SELECT id FROM ads WHERE onoff='1' AND again='0'
SELECT id FROM ads WHERE onoff='2' AND again='1'
SELECT id FROM ads WHERE onoff='3' AND again='1'

Есть ли способ сделать все это в одном sql?

Author: Linger, 2014-03-03

2 answers

SELECT id 
FROM ads 
WHERE (onoff = '1' AND again = '0')
   OR (onoff = '2' AND again = '1')
   OR (onoff = '3' AND again = '1')
 6
Author: Linger, 2014-03-03 19:53:56

Лучшее исполнение, чем использование ИЛИ:

 SELECT id FROM ads WHERE onoff='1' AND again='0'
 UNION ALL
 SELECT id FROM ads WHERE onoff='2' AND again='1'
 UNION ALL
 SELECT id FROM ads WHERE onoff='3' AND again='1'

ИЛИ

SELECT ID FROM ADS WHERE onoff='1' AND again='0'
                      OR (onoff IN( '2','3') AND again = '1')
 1
Author: T McKeown, 2014-03-03 19:55:46