如何获取列a具有id,b列值='Fall'或b列值='Spring'但不是两者都有的表的记录?
感谢。
答案 0 :(得分:2)
尝试此查询
更新问题 如果仅适用于Fall和String值
Select * from atablename where b in ('fall', 'spring') group by a having count(a) = 1
任何值
Select * from atablename group by a having count(a) = 1
旧问题
Select * from atablename where (a = 'Fall' AND b != 'Spring') OR (a != 'Fall' AND b = 'Spring')
答案 1 :(得分:1)
对于原始问题:
SELECT
*
FROM your_table t
WHERE ((t.a = 'Fall' AND t.b != 'Spring') OR (t.a != 'Fall' AND t.b = 'Spring'))
应该做的伎俩
对于新的,
SELECT
t.a
, t.b
FROM your_table t
WHERE ((t.b = 'Fall' AND NOT EXISTS (SELECT * FROM yourtable t1 WHERE t1.a = t.a AND t1.b = 'Spring'))
OR (t.b = 'Spring' AND NOT EXISTS (SELECT * FROM yourtable t1 WHERE t1.a = t.a AND t1.b = 'Fall')))
应该工作