2015-08-31 40 views
0

我有一臺幾個值或者我怎麼能找到這種存在(相同的兩列)數據:約束的

表:

A B C 
1 x q 
2 y w 
3 y e 
4 z r 
5 z t 
6 z r 

SQL魔術

而且我想檢查一些東西,如B和C列中的兩個相同值的唯一約束。要選擇B和C(id = 4和id = 6)並輸出類似的組合,則z + r是重複的邏輯。

我的意思是這樣的:

結果:

z r 

是在這裏我需要有+採用類似雙組? 霍夫然後我可以創建約束,以防止這樣的數據

回答

3
select b, c 
from your_table 
group by b, c 
having count(*) > 1; 
+0

感謝,它對我來說是完美的,即使有三個項目 - 其中一個不爲空(額外的謂詞條件) –

0

入境檢查數據

select a.B, a.C from mytable a join mytable b 
on a.B=b.B and a.C=b.C 
where a.A<>b.A 

然後你可以基於B添加唯一性約束和C