Tabellenverknüpfung / Bitte um Tipp wo ich nachlesen muss
constantin
- datenbank
0 Cheatah0 constantin0 Ilja
Hallo zusammen,
ich bastle an einer Übersichtsliste, die mir kundenspezifisch eine Gesamt-Auftragssumme und eine Gesamt-Rechnungssumme ausgibt. Das funktioniert, aber nur, wenn es von einem Kunden sowohl Aufträge als auch Rechnungen gibt. Mein Problem ist, dass die 'Kunden' von denen es keinen Auftrag oder keine Rechnung gibt, in der Übersicht nicht vorkommen. Das sollen sie aber.
Ich bitte nicht um ein fertiges SQL-Statement, aber kann mir jemand sagen, wie es ungefähr geht bzw. welche Datenbanklogik ich suchen und nachlesen muss, um eine Lösung zu finden? Vielen Dank für den Denkanstoß im Voraus!
Und hier mein aktuelles SQL-Statement:
SELECT
k.id,
k.name,
a.Umsatz,
a.Gewinn,
r.ReSumme,
r.ReGewinn
FROM
umsatz_kunden k,
(SELECT
umsatz_angebote.kunde_id,
ROUND(SUM(gesamtbetrag),0) AS Umsatz,
ROUND(SUM(gesamtbetrag)-SUM(fremdkosten),0) AS Gewinn
FROM
umsatz_angebote
WHERE
status_id = 3
GROUP by
kunde_id) a,
(SELECT
umsatz_rechnungen.kunde_id,
ROUND(SUM(summe),0) AS ReSumme,
ROUND(SUM(summe)-SUM(fremdkosten),0) AS ReGewinn
FROM
umsatz_rechnungen
WHERE
status_id >= 6
GROUP by
kunde_id) r
WHERE
k.id = a.kunde_id AND
k.id = r.kunde_id
Hi,
Ich bitte nicht um ein fertiges SQL-Statement, aber kann mir jemand sagen, wie es ungefähr geht bzw. welche Datenbanklogik ich suchen und nachlesen muss, um eine Lösung zu finden?
Dein Stichwort lautet OUTER JOIN.
Cheatah
Dein Stichwort lautet OUTER JOIN.
Vielen Dank ('Alles klar' wäre momentan übertrieben)! Werde ich mir jetzt zu Gemüte führen, hab das Wort schon mal gehört.
Hallo,
Dein Stichwort lautet OUTER JOIN.
Vielen Dank ('Alles klar' wäre momentan übertrieben)! Werde ich mir jetzt zu Gemüte führen, hab das Wort schon mal gehört.
SELFHTML aktuell, Einführung in Joins von Rouven Thimm hilft dabei.
Freundliche Grüße
Vinzenz
SELFHTML aktuell, Einführung in Joins von Rouven Thimm hilft dabei.
Scheint sehr hilfreich zu sein, Danke!
moin,
Ich bitte nicht um ein fertiges SQL-Statement, aber kann mir jemand sagen, wie es ungefähr geht bzw. welche Datenbanklogik ich suchen und nachlesen muss, um eine Lösung zu finden?
Dein Stichwort lautet OUTER JOIN.
bin zwar einige tage zu spät dranne und die wahrscheinlichkeit ist hoch, dass constaatin es eh nicht mehr lesen wird, aber OUTER JOIN ist mit großer wahrscheinlichkeit der falsche weg für diesen report. ich kann vor joins immer nur warnen, gerade in diesem falle.
Ilja