Ich versuche, alle feeheads
auszuwählen, die in st_annual
Tabelle nicht existieren die folgende Abfrage verwenden, aber es gibt nur eine Zeile, während ich erwarte, dass zwei Reihen bekommen:LEFT JOIN mit GROUP BY kehrt unerwartetes Ergebnis
SELECT A.*
FROM hl_annual A
LEFT JOIN (
SELECT feeid, regd, class
FROM st_annual
GROUP BY regd, feeid
) B ON A.id = B.feeid AND A.class=B.class
WHERE A.class='4' AND A.session='2'
AND B.feeid IS NULL
Bitte sehen Sie sich die fiddle an. Ich erwarte id = 3 und id = 6, aber ich habe nur id = 3.
Ich möchte alle eindeutigen feeid in der Tabelle st_annual auswählen und ich möchte mit der ID in der hl_annual Tabelle vergleichen. Wenn feeid nicht existiert, wenn wir die st_table durch regd und feeid gruppieren, möchte ich diese abwesende Gebührenidentifikation von hl_annual Tabelle bekommen. Also von der Geige bekomme ich nur 3, was nicht in st_annual ist, aber ich möchte auch feeid = 6 bekommen, weil das in einem der regd in st_annual nicht existiert.
Warum brauchen Sie überhaupt eine Gruppe in der Unterabfrage? 6 existiert als ID 37 in Ihren Daten. Warum erwartest du es in deinen Ergebnissen? hl_annual und st_annual beitreten auf Id und feeId 6 besteht in beiden Datensätzen mit hl_annual eine Klasse von 4 (keine Tics sollte verwendet werden) und Sitzung von 2. Da es in beiden besteht und nicht durch Klasse oder Sitzung begrenzt ist die feedID ist nicht null ... also 6 wäre ausgeschlossen. – xQbert
Ich möchte alle eindeutigen feeid in der Tabelle st_annual auswählen und ich möchte mit der ID in der Tabelle hl_annual vergleichen. Wenn feeid nicht existiert, wenn wir die st_table durch regd und feeid gruppieren, möchte ich diese abwesende Gebührenidentifikation von hl_annual Tabelle bekommen. Also von der Geige bekomme ich nur 3, was nicht in st_annual ist, aber ich möchte auch feeid = 6 bekommen, weil das in einem der regd in st_annual nicht existiert. – theJohn
Also ID 6 ist in der Tabelle st_Annual (ID 37) (und in HL_Annual) vorhanden. Dies bedeutet, dass es in beiden ...also sollte es nicht auftauchen. Eine Gruppe ohne Aggregat macht für mich keinen Sinn. – xQbert