2017-06-01 5 views
0

Meine Struktur ist wie dieserSQL: Union mit Subqueries

tabelle1 Schlüssel Wert Datum

table2 Schlüssel Wert Datum

table3 Schlüssel Wert Datum

Ich hätte gerne e eine SQL-Abfrage, die alle Schlüssel und die Summe aller Werte für jeden Schlüssel aus allen 3 Tabellen zurückgibt.

Mein Versuch hat

gewesen

Select key =
(wählen table1.key von table1 wo date = '2017.05.30' Vereinigung
wählen table2.key von table2 wo date = ' 2017.05.30 Gewerkschaft
wählen table3.key aus table3 wo date = '2017.05.30'),
(wählen Summe (Wert) von table1 wo table1.key = Schlüssel und Datum = ‚2017-05 -30') +
wählen (sum (Wert) von table2 wo table2.key = Schlüssel und date = '2017.05.30') +
select (sum (Wert) von Tabelle 3, wo table3.key = Taste und Datum = '2017.05.30')
aus Tabelle 1, Tabelle 2, Tabelle 3

+1

Bitte formatieren Abfrage - es ist kaum lesbar –

Antwort

1

Sie könnten die 3 Tabellen in eine temporäre Tabelle kombinieren und dann tun, was Sie in der temporären Tabelle tun müssen:

CREATE TEMP TABLE temp1 AS 
select key, value, date from table1 
union all 
select key, value, date from table2 
union all 
select key, value, date from table3