dedlfix: mysql: Query gesucht

Beitrag lesen

Tach!

Wenn das so ist, dann frage ich mich, warum Du den "langen" Weg über TB nimmst, der deine Eindeutigkeit zerstört, statt direkt und eindeutig LT und T über PID=TID zu joinen.

Die Eindeutigkeit dürfte doch hierdurch nicht zerstört werden?

Na doch. Ausgehend von t joinst du tb über TBID, was noch eine 1:1-Beziehung ist. Dann kommt lt hinzu über MID, und das ergibt ein kartesisches Produkt, weil über die 4619 deine jeweils beiden Test-Datensätze 2x2=4 miteinander verknüpft werden. Das willst du doch bestimmt nicht haben und versuchst das über die Gruppierung wieder herauszukürzen.

Dein Nachlass geht verloren, weil in der Gruppe keine eindeutigen Werte zu finden sind. Bei Mwst=20 hast du einen Datensatz mit Nachlass 0 und einen mit 10 im kartesischen Produkt. Die Gruppierung ist kaputt und funktioniert nur bei pro Gruppe eindeutigen Daten. Andere Systeme als MySQL lassen sie deshalb in der Form nicht zu.

Außerdem brauche ich die TB-Tabelle auch, da ich hier die MID heraus ziehe.

Wenn du t direkt mit lt verbindest, hast du doch die MID bereits in lt stehen. Wozu also bindest du die tb ein?

Ich bitte mal darum, die MID aus der LT-Tabelle zu ignorieren, weil ich diese Spalte gerne herauslöschen würde.

Dann verstehe ich noch weniger, warum du über die tb-Tabelle gehst.

SELECT
  t.TAnzahl AS Menge, 
  t.TVK AS VK, 
  lt.Nachlass AS Nachlass,

  TAnzahl * TVK * (1 - lt.Nachlass / 100) as gesucht
FROM t_products t
LEFT JOIN lt_products lt ON t.TID = lt.PID

Ist das nicht, was du suchst?

dedlfix.