2017-10-29 6 views

Antwort

0

Sie ganz in der Nähe sind. Sie müssen nur Pars um jede Unterabfrage:

SELECT (SELECT SUM(col) FROM table1) + (SELECT SUM(col) from table2) 

Wenn eine Unterabfrage NULL zurückkehren könnte, Sie könnten es vorziehen:

SELECT COALESCE(t1.s, 0) + COALESCE(t2.s) 
FROM (SELECT SUM(col) as s FROM table1) t1 CROSS JOIN 
    (SELECT SUM(col) as s from table2) t2; 
+0

Jede Idee, warum ich Syntaxfehler bekommen? – Greens

+0

@Greens. . . Ich glaube nicht, dass Sie bei beiden einen Syntaxfehler bekommen werden. In Ihrer Anfrage erkläre ich es: "Sie brauchen nur Parens um jede Unterabfrage". –

0

Aufgrund dieser link, können Sie tun, indem Sie:

SELECT T1C1 , T2C1 
FROM 
(select SUM(Col1) T1C1 FROM T1) A 
CROSS JOIN 
(select SUM(Col1) T2C1 FROM T2) B 

können Sie auch diese Links besuchen:

Query SUM for two fields in two different tables

Getting the sum of several columns from two tables

SQL: How to to SUM two values from different tables

+0

Irgendeine Idee, warum ich Syntaxfehler bekomme? – Greens

+1

@Greens - Weil Sie in der zweiten 'Auswahl' die Klammer an falscher Stelle platziert haben. '.. + SELECT (SUM (col) ..' ** -> ** '.. + (SELECT SUM (col) ..' –

0
select coalesce(sum(x),0) from 
(
    Select sum(a) x from tab1 
    Union all 
    Select sum(b) from tab2 
) Ilv 
Verwandte Themen