首页 新闻 搜索 专区 学院

sql查询(超高手进)

0
[已解决问题] 解决于 2012-10-11 21:26

id col

1   a

1   b

2   c

2   d

结果 

1  a/b      

2  c/d

 

id col col2

1   a    a1

1   b    b1

2   c    c1

2   d    d1

结果 

1  a-a1/b-b1      

2  c-c1/d-d1

 

这两种要怎么查询。不用函数.一条SQL语句。。高手帮忙

彬彬@科比的主页 彬彬@科比 | 初学一级 | 园豆:43
提问于:2012-09-20 08:45
< >
分享
最佳答案
0

--原始表#temp

id NAME
1 a
1 b
2 C
2 D

select id,
stuff((select '/'+ltrim(name) from #temp where id=t.id for xml path('')),1,1,'') col
from #temp t
group by id

--原始表#temp2

id col1 col2
1 A A1
1 B B1
2 c c1
2 d d1

;WITH X AS(
   SELECT ID,col1+'-'+col2 AS col FROM #temp2
)
select id,
stuff((select '/'+ltrim(col) from X where id=t.id for xml path('')),1,1,'') col1
from X t
group by id

奖励园豆:5
dearz | 小虾三级 |园豆:588 | 2012-09-22 13:56
其他回答(1)
0

http://q.cnblogs.com/q/40714/

看看我这个问题的解决办法。和你是一个问题的。

迷路中的路人甲 | 园豆:93 (初学一级) | 2012-09-20 09:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册