Ich habe 2 Tabellen mit Informationen: ID, persona_id, total_amount Die Persona ID kann dutzende Male wiederholt werden. So bekomme ich die alle eine Personen-ID TOTAL_AMOUNT mit query:Daten aus 2 Tabellen und Summierungswerte des Ergebnisses erhalten
select d.id as debt_id, p.name as persona, sum(d.total_amount) as total_amount
from debt d
join persons p on d.persona_id = p.id group by p.name
Ich möchte Daten aus jeder Tabelle in einer Abfrage erhalten und aritmethic propertys mit der TOTAL_AMOUNT Spalte zu tun und senden Sie es als 1 Tabel. (-, +, /, *) der Gesamtbetrag Spalten die zwei Tabellen erhalten comined mit Rechenoperation
TABELLE 1
id persons_id total_amount
1 2 50
2 3 100
3 2 200
4 5 300
5 1 500
TABELLE 2
id persons_id total_amount
1 2 25
2 1 100
3 5 50
4 3 100
5 4 300
Als Ergebnis will ich. Basically eine Änderung, um den Endbetrag des Ergebnisses in der Form zu erhalten, die ich für verschiedene Fälle wünsche.
Was für mich gearbeitet basierend auf JohnHC answear war:
select c.id, c.persona_id, c.total_amount - d.total_amount as new_total
from ( select c.id , c.persona_id, sum(c.total_amount) as total_amount from credit c
join persons p on c.persona_id = p.id
group by p.name) c
inner join ( select d.id, d.persona_id, sum(d.total_amount) as total_amount from debt d
join persons p on d.persona_id = p.id
group by p.name) d
on c.persona_id = d.persona_id
group by c.id, c.persona_id
Erste Frage Ich denke, sollte sein "Warum haben Sie 2 Tabellen mit genau der gleichen Struktur?" – RiggsFolly
@RiggsFolly Da die dargestellte Struktur nicht mit der Abfrage übereinstimmt, gehe ich davon aus, dass das OP einige Informationen ausblendet, um es "leichter für uns" zu lesen. Wir können sogar 3 verschiedene Tische haben. –
Ich habe 2 Tische mit exakt gleicher Struktur aber hält in einer Tabelle hält Menge von Holz am Standort a abgeholt, aber andere hält Kohle Menge vor Ort b aber Person, die den Job kann das gleiche an beiden Standorten sein. Myb das Problem besteht darin, Informationen in 2 Tabellen zu teilen? –