[SQL ] 群組 移除重複資料

看板Database作者 (未識綺羅香)時間11年前 (2014/06/19 19:49), 編輯推噓1(1013)
留言14則, 3人參與, 最新討論串1/2 (看更多)
資料庫名稱: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 小弟太弱,想好久了,因此來請教高手如何達成 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.130.186.106 ※ 文章網址: http://www.ptt.cc/bbs/Database/M.1403178574.A.8C7.html

06/19 20:07, , 1F
"tag值相同的為一組",你的例子001 002 003 004沒有完全一樣
06/19 20:07, 1F

06/19 20:07, , 2F
的tag呀
06/19 20:07, 2F

06/19 20:10, , 3F
嗯...大概懂意思了..沒事~
06/19 20:10, 3F

06/19 20:14, , 4F
是的 1跟2一組同時1跟3一組 所以123為同組
06/19 20:14, 4F

06/19 23:18, , 5F
我會這樣下...
06/19 23:18, 5F

06/19 23:18, , 6F
;with Cte_List(code,tag)
06/19 23:18, 6F

06/19 23:19, , 7F
as
06/19 23:19, 7F

06/19 23:20, , 8F
( select code,
06/19 23:20, 8F

06/19 23:21, , 9F
(case when code in ('001','002','003','004')
06/19 23:21, 9F

06/19 23:22, , 10F
then 'a1' else tag end) from TabeName)
06/19 23:22, 10F

06/19 23:23, , 11F
insert into NewTable
06/19 23:23, 11F

06/19 23:23, , 12F
select distinct code,tag from Cte_List
06/19 23:23, 12F

06/19 23:26, , 13F
如果實際上有更多像 001 002 003 004完全沒關聯的
06/19 23:26, 13F

06/19 23:27, , 14F
case就要下很多了......
06/19 23:27, 14F
文章代碼(AID): #1JeivEZ7 (Database)
文章代碼(AID): #1JeivEZ7 (Database)