我想有從一個表中記錄唯一的主鍵和重複的外鍵具有獨特的PK找到一個記錄表和重複FK
請參考下面
alt text http://img413.imageshack.us/img413/9940/findduplicate.png
感謝
附加的圖像我想有從一個表中記錄唯一的主鍵和重複的外鍵具有獨特的PK找到一個記錄表和重複FK
請參考下面
alt text http://img413.imageshack.us/img413/9940/findduplicate.png
感謝
附加的圖像Select fk, Count(*)
from table1
group by fk
having count(*) > 1
主鍵的定義意味着只有一個,所以你的問題看起來實際上似乎是具有多於一個子行的任何行:
select *
from table1 t
where exists (
select id from table2 t2
where t2.fkid = t.id
group by t2.id
having count(*) > 1
)
這會檢索所有獨特的FK和textVal值從表:
select distinct fk, textVal from myTable
看一看這個例子。
這會找到你TABLE1它是表2中複製爲外鍵
DECLARE @Table1 TABLE(
id INT
)
DECLARE @Table2 TABLE(
id INT,
fkid INT
)
INSERT INTO @Table1 (id) SELECT 1
INSERT INTO @Table1 (id) SELECT 2
INSERT INTO @Table1 (id) SELECT 3
INSERT INTO @Table2 (id,fkid) SELECT 1, 1
INSERT INTO @Table2 (id,fkid) SELECT 2, 2
INSERT INTO @Table2 (id,fkid) SELECT 3, 2
INSERT INTO @Table2 (id,fkid) SELECT 4, 3
INSERT INTO @Table2 (id,fkid) SELECT 5, 3
INSERT INTO @Table2 (id,fkid) SELECT 6, 3
SELECT t2.fkid
FROM @Table2 t2
GROUP BY t2.fkid
HAVING COUNT(t2.fkid) > 1
什麼是你的表的實際主鍵的所有ID? 您的示例數據有重複行(7&8) – Tony 2010-01-20 13:22:27