原谅标题,但我有一张表TRANSACTIONS(ID,AMOUNT,ITEM_NUMBER
)`,有1000万行。没有主要或唯一约束。我想重新调整所有具有唯一ITEM_NUMBER的ID。以下是解释我想要返回内容的示例数据 -
1,200,30
2,250,30
2,200,40
3,300,40
3,400,40
4,100,35
4,150,30
1,230,40
在上述情况下,我想返回ID 3,因为它只与一个ITEM_NUMBER相关联。
答案 0 :(得分:1)
SELECT ID, AMOUNT, ITEM_NUMBER
FROM TRANSACTIONS T
WHERE EXISTS (SELECT 1
FROM TRANSACTIONS
WHERE ID = T.ID
GROUP BY ID
HAVING COUNT(DISTINCT ITEM_NUMBER) = 1)
显然,像NONCLUSTERED (ID) INCLUDE (ITEM_NUMBER)
这样的指数会有所帮助。