2017-08-27 20 views
1

我希望所有具有相同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), 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 

输出我想

enter image description here

感谢每列

+0

你真的**想要将NULL字符串的**字符串值**插入几乎每列 - 或者你是否打算插入NULL(*缺少*值* *没有**任何单引号!)大多数列? –

+0

@marc_s这只是一个示例数据。这是查询的结果。我模仿我的结果 – JonWay

回答

2

使用聚合函数:

SELECT t.id, 
     MAX(t.Day1) as Day1, 
     MAX(t.day2) as Day2, 
     .. 
FROM YourTable t 
GROUP BY t.id 

虽然你的输出是错误的,我认为这是一个错字。

相关问题