我想构造这样的sql条件。我有一辆桌车,它有id_status
,id_category
和storage_address
这样的字段。我需要选择({2,4})id_status
的车辆,如果id_category = 4
我需要检查字段storage_address
是否为空或空。我该怎么做?我应该使用sql if
语句吗?
我需要这样的东西:
select * from car where id_status in (2,4) and if(id_category =
4,storage_address is NOT NULL,'1=1')
答案 0 :(得分:0)
试试这个:
SELECT *
FROM car
WHERE id_status in (2,4)
AND IF(
id_category = 4,
storage_address IS NOT NULL,
1
)
简单地说,你不需要字符串'1=1'
,只需要一个普通的1
作为真值。
或者你可以做到
SELECT *
FROM car
WHERE id_status in (2, 4)
AND (
id_category != 4
OR storage_address IS NOT NULL
)