Ist es möglich, eine Summenabfrage durchzuführen, bei der die Zeile für jeden Teil der Summe aus einem Join ermittelt wird?Summenabfrage mit Bezug auf verschiedene Spalten für jede Zeile?
Zum Beispiel, wenn ich Tabellen
table A
id | value
1 | 10
2 | 15
3 | 10
Und
table b
id | b | c
1 | 2 | 3
2 | 1 | 2
Ist es möglich, ein SUM(tableA.value * tableB.<specific_column>)
zu tun, wo entweder die SUM ausgeführt wird direkt als Verknüpfung oder die Join-Tabelle von prequired ist eine Spezifikation, aus Gründen des Arguments, eine Zeichenfolge "bcb"?
Edit:
Das Endergebnis Ich hoffe, dazu wäre zu erreichen äquivalent:
SUM(SELECT value * b FROM tableA a JOIN tableB b ON b.id = 1 WHERE a.id = 1,
SELECT value * c FROM tableA a JOIN tableB b ON b.id = 1 WHERE a.id = 2,
SELECT value * b FROM tableA a JOIN tableB b ON b.id = 2 WHERE a.id = 3);
Ich denke, es gibt zwei Teile dazu: Ein einfacher von A verbinden und ausgewählte Werte von B so dass B auf eine einzelne selectValue-Spalte reduziert wird.
Danke.
https://stackoverflow.com/questions/7432178/how-can-i-sum-columns-across-multiple-tables-in-mysql – dzm
Bitte ** [EDIT] ** Ihre Frage und fügen Sie die erwartete Ausgabe basierend auf Ihrer Probe diese Daten hinzu. –
Ich ersetzte das 'psql'-Tag durch' postgresql'. Das Tag 'psql' bezieht sich auf den Standard-Befehlszeilenclient für Postgres, nicht auf die Datenbank selbst. –