【发布时间】:2016-01-25 06:45:24
【问题描述】:
我想显示根据 from_date 是今天或以上的条件查询的搜索结果,如果该范围内存在 to_date 到今天为止。
我的查询如下:
SELECT *
FROM device b LEFT OUTER JOIN device_model a
ON (b.`model_ID`=a.`model_ID`)
LEFT JOIN sub_product_area c
ON (b.sub_Product_Area_ID = c.sub_Product_Area_ID)
LEFT JOIN borrow_device d
ON (b.device_ID = d.device_ID AND (from_Date >= CURDATE() or CURDATE() <= to_date))
WHERE (a.`name`LIKE '%galaxy%') OR (a.platform LIKE 'galaxy%') OR
(a.`type`LIKE '%galaxy%') OR (a.`OS`LIKE '%galaxy%') OR (d.username LIKE '%galaxy%') OR
(c.`sub_Product_Area_name` LIKE '%galaxy%')
ORDER BY d.`transaction_Mode` DESC
我的表结构在这里:
问题是它不显示'OR' 之后的下一个子句为真的结果。我的查询有什么问题吗?
【问题讨论】:
-
您的日期条件对我来说没有意义。您能否举例说明您希望根据
from_date和to_date保留哪些类型的记录? -
我想显示 from_date >= today OR to_date >= today 的结果。这就是 from_date 是今天或向上日期或 to_date 是今天或未来日期的地方。希望这足够清楚
-
为什么 from_date 会为空?并考虑提供适当的 CREATE 和 INSERT 语句以及所需的结果。