0

我想构造这样的sql条件。我有一辆桌子车,它有这样的字段id_statusid_categorystorage_address。我需要选择id_status(2,4) 中的汽车,如果id_category = 4我需要检查字段storage_address是否为空或为空。我怎么能做到?我应该使用sqlif语句吗?我需要类似的东西:

select * from car where id_status in (2,4) and if(id_category =
4,storage_address is NOT NULL,'1=1')
4

1 回答 1

0

尝试这个:

SELECT *
FROM car
WHERE id_status in (2,4)
AND IF(
  id_category = 4,
  storage_address IS NOT NULL,
  1
)

简而言之,您不需要 string '1=1',只需一个普通的1就可以作为一个真实的值。

或者你可以做

SELECT *
FROM car
WHERE id_status in (2, 4)
AND (
  id_category != 4
  OR storage_address IS NOT NULL
)
于 2013-08-28T08:53:49.703 回答