Lukas.: mysql: Query gesucht

Beitrag lesen

Hi Rolf,

Der Error 1054 kommt, weil ich den LT Alias hinter lt_products vergessen habe.

Hätte ich selber drauf kommen dürfen. Ich habe nun die korrelierte Version genommen.

SELECT t.TAnzahl * t.TVK * (1-(SELECT Nachlass FROM lt_products lt WHERE lt.PID = t.TID)/100)
FROM tb_products tb
JOIN t_products t ON t.TBID = tb.TBID
WHERE tb.MID = 4619
AND t.MwstSatz = '20.00'

Und ja, sowas ist eine korrelierte Subquery. Subquery weil es - naja, eine untergeordnete Query ist und korreliert kommt von Co-Relation, heißt also soviel wie "im Zusammenhang stehend". Der Zusammenhang wird hergestellt durch den Zugriff auf den Tabellen-Alias T, der zur äußeren Query gehört.

Darf ich das Problem noch etwas ausbauen? 🌝

Es gibt Fälle, in denen ich die Menge nicht aus der t-Tabelle nehmen möchte, sondern aus einer LM-Tabelle. Hierzu gibt es also 2 weitere Tabellen, die nötig sind, zu kennen: "lm und l"

lm_products: LID (primary), LTID (Schlüssel zu lt_products),Menge,Index (Schlüssel zu l_products),LID (kann als Schlüssel zu l_products und/oder lt_products verendet werden)

l_products: LID (primary), Index, MID (dieselbe wie in tb_products)

Kann ich obige Query so erweitern, dass ich die Mengen nicht aus der t_products-Tabelle, sondern anstatt dessen aus der lm_products-Tabelle nehme?

L.