2014-09-17 5 views
0

У меня возникла проблема, для которой мне нужно быстрое решение (я не очень хорошо разбираюсь в SQL). У меня есть несколько таблиц A, B и C, каждая из которых содержит столбцы (id INT NOT NULL, значение NUMERIC (18,1) NOT NULL, дата DATETIME NOT NULL).Временные измерения из разных таблиц

Теперь мне нужно создать запрос, содержащий таблицу, содержащую четыре столбца, одну с DATETIME и три со значением для каждой из таблиц A, B и C. Если для этой конкретной метки времени нет любой из столбцов, в которые мы вставляем NULL.

Пожалуйста, помогите мне с этим.

ответ

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 
+0

У этого нет колонки 'date'. Вы изменили свои требования? – DeanOC

+0

Typo, я установил, что – aerkenemesis

Смежные вопросы