用于针对另一列更改的列列表的SQL

时间:2013-03-21 22:33:00

标签: sql sql-server sql-server-2008 count distinct

我有一个事件表,其中包含团队ID和客户ID。虽然这两列通常具有相同的对应值,但TeamID可能会不时针对特定的ClientID进行更改。

我需要获取一个客户ID的列表,其团队ID将更改,并且他们已更改为的队友

我从

开始
    SELECT ClientID AS CID 
    FROM 
    (SELECT TeamID, count(*) as Counter 
 FROM `vEvents` 
 GROUP BY `ClintID`) AS tbl WHERE Counter > 1

但我想我正在咆哮错误的树。任何帮助非常感谢

安德鲁

1 个答案:

答案 0 :(得分:0)

这可以帮助你或提供你的提示


create table Clients (ID int identity(1,1),
                      TeamID int not null,
                      ClientID int not null,
                      LastModifiedDate datetime not null
                      )

insert Clients values
(1,1001,DATEADD(mi,-5,GETDATE())),
(2,1002,DATEADD(mi,-7,GETDATE())),
(3,1001,GETDATE())          

SELECT ClientID, TeamID
FROM Clients
WHERE ClientID in (select ClientID from Clients group by ClientID having COUNT(TeamID)>1)