Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Addieren zweier Spalten - Tabellenübergreifend

Hallo zusammen,
ist es in einem SQL statement möglich, Spalten aus mehreren Tabellen mti COUNT auszulesen und zusätzlich die Summe beider Spalten als eine weitere Spalte ausgeben zu lassen? z.B.
Eine Tabelle enthält User, die andere eine Anzahl wie viele Beiträge die User erstellt haben und die dritte, wie viele übersetzt wurden.
Die Anzeige soll in einer Tabelle erscheinen
User - Erstellt - Übersetzt
Sortiert werden soll nach der Summe von "Erstellt" +"Übersetzt". Mein bisheriges SQL Statement sieht so aus:

Code:                   In Zwischenablage kopieren (nur IE)
1">

Leider wird die Spalte summe nicht gebldet. Sie ist immer leer.
Kann mir jemand erklären, wo mein Denkfehler liegen könnte?
Hier gehts zum Orginal Eintrag "Addieren zweier Spalten - Tabellenübergreifend" im Forum

Antworten

Schön ist das nicht wirklich, aber gehen müßte es so
(die Zeile für die SUmme ist Mist)
was soll da bei der Formulierung summiert werden?

das Addieren drückst du ja schon durch das "+" aus !

und "erstellt" , "uebersetzt" kennt er da noch nicht,
da müssen die Definitionen wieder rein
also:

((SELECT COUNT(erstellt.user_id) FROM erstellt WHERE erstellt.user_id=id)
+
(SELECT COUNT(uebersetzt.editor_id) FROM uebersetzt WHERE uebersetzt.editor_id=id)) as summe

Das GROUP BY ist dann übrigens fehl am Platze. Eben deswegen ist die Formulierung nicht so schön.
Eleganter wäre die Verwendung von group by.


2.

1000 Dank, Smuntje!
Die Abfrage funktioniert so tatsächlich :)
Wieso schreibst du, dass das nicht "schön" ist? Weil die Abfrage so verschachtelt geworden ist?

Viele Grüße
NJoyLife


Hier gehts zum Orginal Eintrag "Addieren zweier Spalten - Tabellenübergreifend" im Forum
 
phpforum.de | Impressum