【问题标题】:How to find duplicate record sql如何查找重复记录sql
【发布时间】:2015-02-14 06:31:47
【问题描述】:

查询

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 中有重复记录

【问题讨论】:

  • 你能提供样本数据和期望的结果吗?另外,我想这是给SQL Server

标签: sql join duplicates


【解决方案1】:

会是这样的:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-24
    • 1970-01-01
    • 2016-07-03
    • 1970-01-01
    • 1970-01-01
    • 2011-02-09
    相关资源
    最近更新 更多