问题描述
- 急!请教这个sql语句怎么写:两个条件查询,其中一个满足,另一个条件就不要加了
-
条件2始终存在,条件1不一定始终有。条件1、条件2的数据可能同时存在,但是
当有条件1的数据存在的时候,显示条件1的数据;
如果没有,则显示条件2的数据的数据。
解决方案
select * from table where
(条件1 and not exist (select * from table where 条件2))
or
(条件2 and not exist (select * from table where 条件1))
解决方案二:
查询条件是在查询的时候,查看该条记录是否符合条件。
而你提的问题是,要求查询逻辑的控制,是否使用条件2取决于条件1的查询结果。
所以还是要写成两条语句,在条件1没有数据的时候,再去第二次查询条件2。
时间: 2024-11-01 01:22:47