Sql server 如何获取sql server中同一表中的不匹配记录?
我有一个表,上面写着Sql server 如何获取sql server中同一表中的不匹配记录?,sql-server,Sql Server,我有一个表,上面写着StudentBillDetails,在这个表中,数据每年保存一次,yrid被引用到其他一些表中。现在我遇到了一个问题。我想检索不匹配的记录,如下所述 Stid BillNo Yrid 1 525 3 1 525 1 1 525 4 2 443 4 2 442 1 2 443 3 在上述给定的表结构中,您可以看到三年来stid1具有相同的值,但st
StudentBillDetails
,在这个表中,数据每年保存一次,yrid
被引用到其他一些表中。现在我遇到了一个问题。我想检索不匹配的记录,如下所述
Stid BillNo Yrid
1 525 3
1 525 1
1 525 4
2 443 4
2 442 1
2 443 3
在上述给定的表结构中,您可以看到三年来
stid1
具有相同的值,但stid2
在Yrid 1
中存在冲突。因此,我想获得这些类型的记录。如果您只想标记有冲突的Stid
值,那么下面的简单查询应该可以工作:
SELECT Stid
FROM yourTable
GROUP BY Stid
HAVING COUNT(DISTINCT BillNo) > 1
如果需要完整记录,可以尝试将表连接到上述查询:
SELECT t1.*
FROM yourTable t1
INNER JOIN
( SELECT Stid FROM yourTable GROUP BY Stid HAVING COUNT(DISTINCT BillNo) > 1 ) t2
ON t1.Stid = t2.Stid