SQL视图将数据展平为行

时间:2014-09-08 16:40:36

标签: sql

我有一行数据a,b,c,d。我想为每个人创建一个唯一的行。最终结果将是行1a a =具有数据,b =无数据,c =无数据,d =无数据行2 a =无数据b =具有数据c =无数据d =无数据。等等等等。这会将每行变成5行扁平数据。如果您有任何建议或方法可以将这些行分解为更加平坦的数据,那将是非常棒的。我还想为每个展平的行添加一个日期a = 1/1/2014 b = 2/1/2014等等。谢谢

1 个答案:

答案 0 :(得分:2)

您需要使用UNION。通过使用union,您可以将多个select语句连接到一个结果集中。

SELECT a, null as b, null as c, null as d, '1/1/2014' FROM TABLE
UNION
SELECT null as a, b, null as c, null as d, '2/1/2014' FROM TABLE
UNION
SELECT null as a, null as b, c, null as d, '3/1/2014' FROM TABLE
UNION
SELECT null as a, null as b, null as c, d, '4/1/2014' FROM TABLE