0
我需要幫助,在SQL Server中傳遞查詢。SQL Server中的2列上的傳遞組查詢
我有一張[ID]和[GRPID]的表格。
我想更新第三列[NEWGRPID]基於以下邏輯:
- 對於每個[ID],得到其GRPID;
- 從(1)中獲取與GRPID相關的所有ID;
- 集[NEWGRPID]等於一個整數(變量遞增1),對於所有行的從步驟(2)
的想法是幾個這些ID被「傳遞地」在不同的連接[GRPID],並且都應該具有相同的[GRPID]。
下表是預期結果,[NEWGRPID]填充。
ID GRPID NEWGRPID
----- ----- ------
1 345 1
1 777 1
2 777 1
3 345 1
3 777 1
4 345 1
4 999 1
5 345 1
5 877 1
6 999 1
7 877 1
8 555 2
9 555 2
謝謝帕維爾。結果返回3個不同的[NEWGRPID],應根據邏輯返回2個不同的結果。 我認爲需要什麼是沿着什麼是在這個問題的線,但不知道... http://stackoverflow.com/questions/18033115/how-to-label-transitive-groups-with-sql – NScara
這個可以嗎?對不起,我以爲你想在所有具有匹配GRPID的行上設置一個計數器。如果您需要第二條語句中的對(ID,GRPID)的計數器,請使用SELECT ID,GRPID,COUNT(*)作爲IDGRPCNT並按ID,GRPID分組。然後在更新語句中的聯接條件中添加ID。 – PacoDePaco
我的錯誤,通過計數器我的意思是一個增量爲1的變量,而不是計數行集。爲了清晰起見,請嘗試更新問題 謝謝。 – NScara