在行中的null单元格中设置值,并在任何其他后续行中使用非null值

时间:2015-12-28 09:58:27

标签: sql-server

我以这种格式从查询中检索数据

  Day   Module1     Module2     Module3      Module3    IPQC
    1   TestData1   NULL        NULL         NULL       NULL
    1   NULL        TestData2   NULL         NULL       NULL
    1   NULL        NULL        TestDAta3    NULL       NULL
    1   NULL        NULL        NULL         NULL       TestData4
    2   NULL        NULL        NULL         TestData16 NULL
    2   TestData5   NULL        NULL         NULL       NULL
    2   NULL        NULL        TestDAta6    NULL       NULL
    2   NULL        NULL        NULL         NULL       TestData8
    3   NULL        NULL        NULL         TestData10 NULL
    3   NULL        NULL        NULL         NULL       TestData11

现在我想要以下格式的上述数据

    Day Module1     Module2     Module3      Module3    IPQC
    1   TestData1   TestData2   TestDAta3    NULL       TestData4
    2   TestData5   NULL        TestDAta6    TestData16 TestData8
    3   NULL        NULL        NULL         TestData10 TestData11

如果有人知道怎么做,请尽快帮助我。 在此先感谢.. :))

1 个答案:

答案 0 :(得分:1)

只需在列

中添加Aggregate即可
SELECT [Day],
       Module1 = Max(Module1),
       Module2 = Max(Module2),
       Module3 = Max(Module3),
       Module4 = Max(Module4),
       IPQC = Max(IPQC)
FROM   yourtable
GROUP  BY [DAY]