Sql 同一行上的结果值
我希望具有相同ID的所有值都位于下面查询中的同一行。我不知道该怎么办。请帮忙Sql 同一行上的结果值,sql,sql-server,sql-server-2008,sql-server-2012,Sql,Sql Server,Sql Server 2008,Sql Server 2012,我希望具有相同ID的所有值都位于下面查询中的同一行。我不知道该怎么办。请帮忙 DECLARE @Tab TABLE (ID INT, Day1 Varchar(10), Day2 Varchar(10), Day3 Varchar(10), Day4 Varchar(10), Day5 Varchar(10), Day6 Varchar(10), Day7 Varchar(10), D
DECLARE @Tab TABLE
(ID INT,
Day1 Varchar(10), Day2 Varchar(10), Day3 Varchar(10),
Day4 Varchar(10), Day5 Varchar(10), Day6 Varchar(10),
Day7 Varchar(10), Day8 Varchar(10),
Day9 Varchar(10), Day10 Varchar(10)
)
INSERT INTO @Tab
VALUES
(1,'R','NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL'),
(1,'NULL','R','NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL'),
(1,'NULL','NULL','C','NULL','NULL','NULL','NULL','NULL','NULL','NULL'),
(1,'NULL','NULL','NULL','D','NULL','NULL','NULL','NULL','NULL','NULL'),
(1,'NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL'),
(1,'NULL','NULL','NULL','NULL','NULL','V','NULL','NULL','NULL','NULL'),
(1,'NULL','NULL','NULL','NULL','NULL','NULL','Y','NULL','NULL','NULL'),
(1,'NULL','NULL','NULL','NULL','NULL','NULL','NULL','R','NULL','NULL'),
(2,'R','NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL'),
(2,'NULL','C','NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL'),
(2,'NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL'),
(2,'NULL','NULL','NULL','K','NULL','NULL','NULL','NULL','NULL','NULL'),
(2,'NULL','NULL','NULL','NULL','V','NULL','NULL','NULL','NULL','NULL'),
(2,'NULL','NULL','NULL','NULL','NULL','R','NULL','NULL','NULL','NULL'),
(2,'NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL'),
(2,'NULL','NULL','NULL','NULL','NULL','NULL','NULL','R','NULL','NULL'),
(2,'NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL','K','NULL'),
(2,'NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL','C'),
(3,'R','NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL'),
(3,'NULL','R','NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL'),
(3,'NULL','NULL','R','NULL','NULL','NULL','NULL','NULL','NULL','NULL'),
(3,'NULL','NULL','NULL','C','NULL','NULL','NULL','NULL','NULL','NULL'),
(3,'NULL','NULL','NULL','NULL','W','NULL','NULL','NULL','NULL','NULL'),
(3,'NULL','NULL','NULL','NULL','NULL','V','NULL','NULL','NULL','NULL'),
(3,'NULL','NULL','NULL','NULL','NULL','NULL','A','NULL','NULL','NULL'),
(3,'NULL','NULL','NULL','NULL','NULL','NULL','NULL','D','NULL','NULL'),
(3,'NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL','W','NULL'),
(3,'NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL','NULL','Y')
SELECT *
FROM @Tab
我想要的输出
谢谢对每列使用聚合功能:
SELECT t.id,
MAX(t.Day1) as Day1,
MAX(t.day2) as Day2,
..
FROM YourTable t
GROUP BY t.id
虽然您的输出是错误的,但我认为这是一个输入错误。您真的想在几乎每一列中插入
'NULL'
的字符串值吗?还是您打算在大多数列中插入NULL
(没有值-没有任何单引号!)这只是一个示例数据。这是查询的结果。我模仿我的结果