求一个SQL语句,按某一字段值拆分多行
ZDXX表中
字段1 字段2 字段3 字段4 字段5
A 071 A001 1 A1
B 131 B002 1 B1
C 054 C003 2 C1
现在要把字段2中等于131的所有行拆分成字段2分别等于071和054 的两行,且字段2中071对应字段4的值为1, 054对应字段4的值为2,其他字段不变,这个语句该怎么写啊?谢谢!!
求一个SQL语句,按某一字段值拆分多行
答案:2 悬赏:10 手机版
解决时间 2021-02-20 19:06
- 提问者网友:末路
- 2021-02-20 04:13
最佳答案
- 五星知识达人网友:夜风逐马
- 2021-02-20 04:45
4行变成1行? 如果用 SQL Server 的话,可以用一种很 诡异的方法: SELECt DISTINCT ',' + SALE_ITEM FROM SALE_REPORT FOR XML PATH('') 楼主可以测试一下,最后用一个 FOR XML PATH('') 就好。 我上面的 SQL 执行结果为: ,C,A,B
全部回答
- 1楼网友:夜余生
- 2021-02-20 04:52
select 这个地方就是查询的字段,然后ip是自定义的名字 'ip'=substring(拆分的字段名,b.number,charindex('拆分的符号',拆分的字段名+',',b.number)-b.number) from 你的表名 a
inner join master.dbo.spt_values b on b.number between 1 and len(拆分的字段名)
and substring(','+拆分的字段名,b.number,1)='拆分的符号'
where b.type='p' 后边可以是条件 and id=1
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯