2013-03-21 97 views
0

我有一個包含團隊ID和客戶端ID的事件表。雖然這兩列通常具有相同的對應值,但TeamID可能會隨時針對特定的ClientID而不斷變化。針對列值相對另一列更改的SQL的列表

我需要的清單客戶端ID的,其團隊的ID將有改變和teamids他們已經改爲

我開始了與

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

但我想我狂叫起來錯的樹。任何幫助非常感謝

安德魯

+0

你有時間標記每個記錄跟蹤的變化,像lastModifiedDate? – ljh 2013-03-21 22:43:23

+0

我有一個dateCreated,dateModified和dateVerified列。驗證似乎不包含空值。 – amun1000 2013-03-21 22:50:59

回答

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) 
+0

這似乎並不奏效。如果相應的Team ID值已更改,則客戶端ID需要顯示兩次。因此,在團隊ID未更改的情況下,客戶端ID不在結果集中。我與該查詢給出的列表是所有客戶和他們的ID的列表 – amun1000 2013-03-21 23:03:08

+0

我想我誤解了你的問題,我更新了查詢,這是你想要的嗎? – ljh 2013-03-21 23:08:57

+0

我感謝這可能足夠接近 - 需要交叉引用數據以確保,但直到明天才能這樣做。我添加了一個disticnt到ClientID的第一個選擇和排序,以便我可以看到客戶已經更改了團隊。非常感謝安德魯 – amun1000 2013-03-21 23:27:09

相關問題