标题:请教 select 纵向记录转横向 语句
只看楼主
皇火
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2022-3-14
结帖率:33.33%
 问题点数:0 回复次数:5 
请教 select 纵向记录转横向 语句
如何将select distinct BH from NAME 查询结果直接从纵向转为横向,例如下表是一般查询结果
XY1
ABC
103
现希望用一条select语句,将3行合并在一个字段中,如: “XY1 ABC 103” 或 “XY1/ABC/103”
先谢为盼
搜索更多相关主题的帖子: 语句 记录 横向 纵向 select 
2022-11-03 04:33
my2318
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:12
帖 子:233
专家分:577
注 册:2014-3-18
得分:0 
数据处理方法决定了只能采用编程方法实现
2022-11-11 13:44
stan112
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2022-11-21
得分:0 
CREATE TABLE #T (testName NVARCHAR(32))
INSERT INTO #T VALUES('aa'),('bb'),('cc')

select STUFF((SELECT '/'+testName from
(
SELECT testName FROM #T  
)A
FOR XML PATH('')),1,1,'')

DROP TABLE #T
2022-11-21 11:19
皇火
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2022-3-14
得分:0 
谢谢楼上的回复。
这个问题我用select * from 表 PIVOT (...) 解决了,要注意的一点是:语句中尽量用表的别名,直接用表名会出错。
2022-11-23 10:19
dfasg12
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2022-12-1
得分:0 
招远程办公资深DBA工程师,薪资35-52K!有兴趣联系Telegram:@w4262
2022-12-01 14:16
simmety
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2023-2-21
得分:0 
CREATE TABLE #T (testName NVARCHAR(32))
INSERT INTO #T VALUES('aa'),('bb'),('cc')

select STUFF((SELECT '/'+testName from
(
SELECT testName FROM #T  
)A
FOR XML PATH('')),1,1,'')

DROP TABLE #T
2023-02-21 09:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-510520-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015323 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved