Der Buchhalter: Problem mit Alias bei einfacher Abfrage

Beitrag lesen

Diese Abfrage (ganz ohne Alias bei der Ausgabe)

SELECT
	lieg.name,
	gas.betrag
FROM tblLiegenschaften AS lieg
JOIN tblKosten AS gas ON gas.liegenschaft = lieg.id AND gas.typ = "Gas"

und diese Abfrage (mit einem unique Alias)

SELECT
	lieg.name,
	gas.betrag AS irgendeinAliasDerNichtGasIst
FROM tblLiegenschaften AS lieg
JOIN tblKosten AS gas ON gas.liegenschaft = lieg.id AND gas.typ = "Gas"

liefern das gewünschte Ergebnis.

In tblKosten gibt es mehrere Einträge wo der Typ Gas ist. Und es gibt weitere Einträge bei denen der Typ anders lautet. Dennoch liefern die oben genannten Abfragen genau die Zeile(n), die ich erwarte. Und das leuchtet mir nicht ein. Im ersten Fall würde gas.typ = "Gas" doch zu gas.typ = tblKosten aufgelöst, welches ein leeres Ergebnis liefern sollte. Und im zweiten Fall müsste gas.typ = "Gas" doch zu gas.typ = irgendeinAliasDerNichtGasIst aufgelöst werden, oder?

Und damit gibt es kein Ergebenis, weil es anscheinend keine Datensätze gibt, die auf diese Bedingung passen.

Was nun, kein Ergebnis oder ist die leere Ergebnismenge, das was du erwartest?

Ich erwarte pro Liegenschaft eine Zeile im Ergebnis-Set. Genau diese Anforderungen erfüllen die beiden oben genannten Abfragen. Und auch die richtige Schreibweise mit Single Quotes liefert mir einen Eintrag pro Liegenschaft. Aber sobald der Konflikt auftritt, erhalte ich eine leere Ergebnis-Menge. Und dies entspricht nicht meiner ursprünglichen Erwartung.