来自不同表的时间戳测量

时间:2014-09-17 07:07:04

标签: sql sql-server

我正面临一个问题,我需要一个快速的解决方案(我对SQL不是很好)。我有几个表A,B和C,每个表包含列(id INT NOT NULL,值NUMERIC(18,1)NOT NULL,date DATETIME NOT NULL)。

现在我需要的是创建一个查询,产生一个包含四列的表,一个包含DATETIME,另一个包含每个表A,B和C的值。如果任何特定时间戳没有任何值我们插入NULL的列。

请帮助我。

1 个答案:

答案 0 :(得分:0)

SELECT t0.date, A.value,B.value.C.value
FROM (SELECT date
    FROM A
    UNION
    SELECT date
    FROM B
    UNION
    SELECT date
    FROM C
) t0
LEFT JOIN A ON t0.date = A.date
LEFT JOIN B ON t0.date = B.date
LEFT JOIN C ON t0.date = C.date