0
我試圖合併列名的where子句。我需要單個列才能返回正值,但同樣的條件適用於許多列。蠻力的例子如下,檢查幾列之間的某個範圍之間的日期。我有完全相同的條件OR'd。WHERE子句中的多行的單列
SELECT * FROM foo
WHERE foo.date1 BETWEEN DATE_SUB(DATE_ADD(DATE(NOW()), INTERVAL 16 HOUR), INTERVAL 24 HOUR) and DATE_ADD(DATE(NOW()), INTERVAL 16 HOUR)
OR foo.date2 BETWEEN DATE_SUB(DATE_ADD(DATE(NOW()), INTERVAL 16 HOUR), INTERVAL 24 HOUR) AND DATE_ADD(DATE(NOW()), INTERVAL 16 HOUR);
我寧願做線沿線的東西:
SELECT * FROM foo
WHERE (foo.date1 OR foo.date2) BETWEEN DATE_SUB(DATE_ADD(DATE(NOW()), INTERVAL 16 HOUR), INTERVAL 24 HOUR) and DATE_ADD(DATE(NOW()), INTERVAL 16 HOUR);
..但它仍然是各個列跨行合作。
我使用MariaDB,但可以適應任何解決方案從其他口味的SQL。