如何查找重复记录sql

时间:2014-12-16 01:51:39

标签: sql join duplicates

查询

SELECT AV.ItemID as ItemIDe, AV.uid,  ui.Count, U.Name, u.Surname,
u.UID as UserID, av.Value, av1.Value, AV2.Value  
FROM AttribValues as AV  
full join AttribValues as AV2 on AV2.AttribID = 3 AND AV2.Value = '12' 
                                 AND AV2.ItemID = AV.ItemID 
full join AttribValues as AV1 on AV1.AttribID = 2 AND AV1.Value = 'zielony' 
                                 AND AV1.ItemID = AV.ItemID 
join UsersItems as UI on Ui.UID = AV.ItemID
join Users as U on u.UID = ui.UserID  
WHERE ((AV.AttribID = 1 AND AV.Value = '517750069') OR (AV1.Value IS NOT NULL 
OR AV2.Value IS NOT NULL))  AND DateEnd > GETDATE ()

并且在Av.ItemID

中有重复记录

1 个答案:

答案 0 :(得分:0)

它会是这样的:

SELECT COUNT(1), AV.ItemID as ItemIDe, AV.uid,  ui.Count, U.Name, u.Surname, u.UID as UserID, av.Value, av1.Value, AV2.Value  

FROM AttribValues as AV  
full join AttribValues as AV2 on AV2.AttribID = 3 AND AV2.Value = '12' AND AV2.ItemID = AV.ItemID 
full join AttribValues as AV1 on AV1.AttribID = 2 AND AV1.Value = 'zielony' AND AV1.ItemID = AV.ItemID 

join UsersItems as UI on Ui.UID = AV.ItemID
join Users as U on u.UID = ui.UserID  

WHERE ((AV.AttribID = 1 AND AV.Value = '517750069') OR (AV1.Value IS NOT NULL OR AV2.Value IS NOT NULL))  AND DateEnd > GETDATE ()

GROUP BY AV.ItemID, AV.uid,  ui.Count, U.Name, u.Surname, u.UID, av.Value, av1.Value, AV2.Value

HAVING COUNT(1) > 1
相关问题