Может ли кто-нибудь помочь мне с этим запросом? У меня есть три таблицы с разными именами.
Tabla Ejemplo1
fecha campo1
2017-01-01 0.00
2017-01-01 7.00
2017-01-01 0.00
2017-01-01 1.00
2017-01-01 0.00
2017-01-02 1.00
2017-01-02 43.00
2017-01-02 1.00
2017-01-02 0.00
2017-01-02 0.00
Tabla Ejemplo2
fecha campo2
2017-01-01 0.00
2017-01-01 5.00
2017-01-01 1.00
2017-01-01 3.00
2017-01-01 0.00
2017-01-02 1.00
2017-01-02 3.00
2017-01-02 2.00
2017-01-02 2.00
2017-01-02 0.00
Tabla Ejemplo3
fecha campo3
2017-01-01 0.00
2017-01-01 5.00
2017-01-01 1.00
2017-01-01 3.00
2017-01-01 0.00
2017-01-02 1.00
2017-01-02 1.00
2017-01-02 0.00
2017-01-02 0.00
2017-01-02 0.00
Я хочу суммировать все поля с их соответствующими значениями, а затем соединить даты в блоке дат. Вот так...
Tabla Final
fecha campoTotal
2017-01-01 26.00
2017-01-02 55.00
Я пробовал два способа сделать это с вложенными запросами и с подзапросами. И ни в коем случае, я пришел, чтобы сделать это. Кто-нибудь может взять мне кабель?
запросы
SELECT [fecha],
sum([campo1]) AS "campo1"
FROM Ejemplo1
WHERE fecha = '2017-01-01'
GROUP BY fecha
SELECT [fecha],
sum([campo2]) AS "campo2"
FROM Ejemplo2
WHERE fecha = '2017-01-01'
GROUP BY fecha
SELECT [fecha],
sum([campo3]) AS "campo3"
FROM Ejemplo3
WHERE fecha = '2017-01-01'
GROUP BY fecha
Подзапросы
select fecha,sum(campo1) total
from
(
select fecha,campo1
from ejemplo1
union all
select fecha,campo2
from ejemplo2
union all
select fecha,campo3
from ejemplo3
) t
group by fecha
Я решил это, как вы сказали, используя INNER JOIN таблиц.
Попробуйте внутреннее соединение, оно сработало для меня, предполагая, что в 3 таблицах у вас будут все даты:
ИЗМЕНЕННЫЙ ЗАПРОС
Я надеюсь, что это помогает.