快速查询(秋季,春季)

时间:2013-04-25 04:40:36

标签: sql record

如何获取列a具有id,b列值='Fall'或b列值='Spring'但不是两者都有的表的记录?

感谢。

2 个答案:

答案 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')))

应该工作

相关问题