SQL选择多行作为一行
表格 身份证件 日期 模型 价格 6255 2018-01-31 HZH98CC 435.34 6256 2018-01-31 CVVCDE7 23.24 6257 2018-01-31 WWRT423 24.24 6258 2018-02-14 DT4 43.23 6259 2018-02-14 D42C 243.2SQL选择多行作为一行,sql,sql-server,tsql,Sql,Sql Server,Tsql,表格 身份证件 日期 模型 价格 6255 2018-01-31 HZH98CC 435.34 6256 2018-01-31 CVVCDE7 23.24 6257 2018-01-31 WWRT423 24.24 6258 2018-02-14 DT4 43.23 6259 2018-02-14 D42C 243.2 自SQL Server 2017年以来,SQL Server已支持: 在较旧版本的SQL Server中,您必须使用XML解决方案。自SQL Server 2017以来,SQL
自SQL Server 2017年以来,SQL Server已支持:
在较旧版本的SQL Server中,您必须使用XML解决方案。自SQL Server 2017以来,SQL Server支持:
在较旧版本的SQL Server中,您必须使用XML解决方法。对于没有string_agg函数的较旧版本的SQL Server,使用XML的示例
DECLARE @t TABLE
(
id varchar(10),
date date,
model varchar(10),
price varchar(10)
)
INSERT INTO @t
select 6255 ,'2018-01-31', 'HZH98CC', 435.34 union all
select 6256 ,'2018-01-31', 'CVVCDE7', 23.24 union all
select 6257 ,'2018-01-31', 'WWRT423', 24.24 union all
select 6258 ,'2018-02-14', 'DT4', 43.23 union all
select 6259 ,'2018-02-14', 'D42C', 243.2;
SELECT
stuff( ( SELECT ','+ [id] FROM @t WHERE date = t1.date FOR XML PATH('')
),1,1,'') id,
date,
stuff( ( SELECT ','+ [model] FROM @t WHERE date = t1.date FOR XML PATH('')
),1,1,'') model,
stuff( ( SELECT ','+ [price] FROM @t WHERE date = t1.date FOR XML PATH('')
),1,1,'') price
FROM (SELECT distinct date FROM @t ) t1
示例:对没有string_agg函数的旧版本SQL Server使用XML
DECLARE @t TABLE
(
id varchar(10),
date date,
model varchar(10),
price varchar(10)
)
INSERT INTO @t
select 6255 ,'2018-01-31', 'HZH98CC', 435.34 union all
select 6256 ,'2018-01-31', 'CVVCDE7', 23.24 union all
select 6257 ,'2018-01-31', 'WWRT423', 24.24 union all
select 6258 ,'2018-02-14', 'DT4', 43.23 union all
select 6259 ,'2018-02-14', 'D42C', 243.2;
SELECT
stuff( ( SELECT ','+ [id] FROM @t WHERE date = t1.date FOR XML PATH('')
),1,1,'') id,
date,
stuff( ( SELECT ','+ [model] FROM @t WHERE date = t1.date FOR XML PATH('')
),1,1,'') model,
stuff( ( SELECT ','+ [price] FROM @t WHERE date = t1.date FOR XML PATH('')
),1,1,'') price
FROM (SELECT distinct date FROM @t ) t1
这回答了你的问题吗?你可以用这个。请细化(或简化)您的预期结果示例。目前来看,聚合模型字符串并随机只包含其中一个价格是没有意义的。@Gowthaman link可能就是其中之一。我会测试它,然后回来。这能回答你的问题吗?你可以用这个。请细化(或简化)您的预期结果示例。目前来看,聚合模型字符串并随机只包含其中一个价格是没有意义的。@Gowthaman link可能就是其中之一。我会测试一下,然后回来