2016-04-07 17 views
0

I 2 verschiedene Werte am Aggregieren und will ihre Differenzen berechnen und sie auf der Zeile angezeigt3 verschiedene SQL-Abfragen in einer Reihe

Beispiel Pseudocode:

(SELECT SUM(column1) from database1.table1 where condition1) - (SELECT SUM(column2) from database2.table2 where condition2)=3rd Row 

Die Tabelle soll wie folgt aussehen

COLUMN1 | COLUMN2 | COLUMN1-COLUMN2 

Können wir dies in SQL tun? Ist es machbar?

+4

Bitte geben Sie die Beispieldaten und die gewünschte Ausgabe an. Sind die Datensätze in irgendeiner Weise korreliert oder benötigen Sie nur eine Zeilenergebnismenge? Und ja, es ist in beiden Fällen machbar :) – lad2025

Antwort

2

Ist es das, was Sie erreichen möchten?

select a.asum,b.bsum,(a.asum-b.bsum) from 
     (select SUM(column1) as asum from database1.table1 where condition1)a, 
     (SELECT SUM(column2) as bsum from database2.table2 where condition2)b 
0

Es sollte mehrere verschiedene Möglichkeiten geben, dies zu tun, je nachdem, wie Sie sich an jede Tabelle anschließen. Ich würde wahrscheinlich so etwas tun.

select 
sum(a.col) as value1 
,sum(b.col) as value2 
,value1-value2 as value3 
from table a 
join table b -- may need to be a left join? 
on a.something=b.something 
where a.something = 
and b.something = 
Verwandte Themen