作者Falconeye (未识绮罗香)
看板Database
标题[SQL ] 群组 移除重复资料
时间Thu Jun 19 19:49:29 2014
资料库名称: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://webptt.com/cn.aspx?n=bbs/Database/M.1403178574.A.8C7.html
1F:→ bohei:"tag值相同的为一组",你的例子001 002 003 004没有完全一样 06/19 20:07
2F:→ bohei:的tag呀 06/19 20:07
3F:→ bohei:嗯...大概懂意思了..没事~ 06/19 20:10
4F:→ Falconeye:是的 1跟2一组同时1跟3一组 所以123为同组 06/19 20:14
5F:推 scpisces:我会这样下... 06/19 23:18
6F:→ scpisces:;with Cte_List(code,tag) 06/19 23:18
7F:→ scpisces:as 06/19 23:19
8F:→ scpisces:( select code, 06/19 23:20
9F:→ scpisces:(case when code in ('001','002','003','004') 06/19 23:21
10F:→ scpisces: then 'a1' else tag end) from TabeName) 06/19 23:22
11F:→ scpisces:insert into NewTable 06/19 23:23
12F:→ scpisces:select distinct code,tag from Cte_List 06/19 23:23
13F:→ scpisces:如果实际上有更多像 001 002 003 004完全没关联的 06/19 23:26
14F:→ scpisces:case就要下很多了...... 06/19 23:27