2013-04-25 75 views
-2

我怎麼有一列ID爲,列B值=「秋天」或列B值=「春秋」而不是兩個表的記錄?快速查詢(秋季,春季)

謝謝。

+2

哪有列有兩個值: '倒' *和*'春'? – 2013-04-25 04:47:46

+0

好了,所以我們說,在表中的記錄是... 1「秋天」 2「春天」 2「秋天」我只想要1「秋天」 – 2013-04-25 04:50:20

+0

你的定義很模糊,並與每一個版本的變更。另外,你在談論哪種SQL引擎,Microsoft SQL? – 2013-04-25 04:51:52

回答

2

嘗試此查詢

更新的問題 如果只有秋季和字符串值

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') 
+0

噢噢噢,對不起,我有問題的錯誤。讓我糾正它。 – 2013-04-25 04:46:27

+1

你可能想改變「失敗」到「墮落」 ...... – 2013-04-25 04:48:36

+0

感謝斯科特,更新:) – 2013-04-25 04:49:18

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

應工作

+0

我提出的問題有誤,請再看一看。 – 2013-04-25 04:47:13