[SQL ] 群組 移除重複資料

作者: Falconeye (未識綺羅香)   2014-06-19 19:49:29
資料庫名稱:MSSQL
資料庫版本:2012
內容/問題描述:
table長這樣:
code tag var1 var2 ...
001 c1 ...
002 c1 ...
001 c2 ...
003 c2 ...
002 c3 ...
004 c3 ...
005 c4 ...
006 c4 ...
現在情形是 根據不同條件,tag有不同值,tag值相同的資料為一組
以上表為例,其實001 002 003 004 是同一組的
現在要產生一新表,要移除重複資料,並且同組的要放在一起,並命名一個新的tag值
code tag var1 var2 ...
001 a1
002 a1
003 a1
004 a1
005 c4
006 c4
小弟太弱,想好久了,因此來請教高手如何達成
謝謝
作者: bohei (run and fall)   2014-06-19 20:07:00
"tag值相同的為一組",你的例子001 002 003 004沒有完全一樣的tag呀嗯...大概懂意思了..沒事~
作者: Falconeye (未識綺羅香)   2014-06-19 20:14:00
是的 1跟2一組同時1跟3一組 所以123為同組
作者: scpisces (失敗的勇氣。)   2014-06-19 23:18:00
我會這樣下...;with Cte_List(code,tag)as( select code,(case when code in ('001','002','003','004')then 'a1' else tag end) from TabeName)insert into NewTableselect distinct code,tag from Cte_List如果實際上有更多像 001 002 003 004完全沒關聯的case就要下很多了......

Links booklink

Contact Us: admin [ a t ] ucptt.com