godlie
Goto Top

Mysql Left Join leeres Ergebnissfeld abfangen

Hallo,

ich bastle gerade an einem View, es geht im Prinzip um Lieferscheine und Rechnungen.

SELECT `plp`.`ppID` AS `ppID`,`plp`.`plID` AS `plID`,
SUM(`plp`.`amount`) AS `GL`,
SUM(bpos.amount) AS `VR`,
`pos`.`ordered` AS `ordered`,
`pos`.`pID` AS `pID`,
pr.prNum
FROM `intrabase_stable`.`projectList_packingLists_positions` `plp` 
JOIN `intrabase_stable`.`projectList_positions` `pos` ON `pos`.`ppID` = `plp`.`ppID`
JOIN projectList_projects AS pr ON pr.pID = pos.pID
LEFT JOIN projectList_bills_positions AS bpos ON bpos.ppID = plp.ppID
GROUP BY `plp`.`ppID`

In den Tabellen projectList_packingLists_positions kann eine Position öfters vorkommen.
Dito bei projectList_bills_positions.

Wenn ich mir nun das Ergebnis des Queries ansehe, erhalte ich eine Auflistung aller Lieferscheine
mit den dazugehörigen ( insofern vorhanden ) in Rechnung gestellten Teilmengen.

Bei gelieferten Positionen die noch keine Verrechnung hinter sich haben, hab ich im Feld VR NULL
<-- da aus der bills_positions ja nichts kommt.

Wie kann ich mir nun genau diese NULL Sätze suchen, damit ich sie anzeigen kann für die Verrechnung?

dank und gruß

Content-ID: 157111

Url: https://administrator.de/contentid/157111

Ausgedruckt am: 23.11.2024 um 09:11 Uhr

32067
32067 16.12.2010 um 12:35:04 Uhr
Goto Top
Ich glaube was du suchst ist die HAVING Klausel ( http://sql.1keydata.com/de/sql-having.php ), praktisch ein WHERE, welches nach dem GROUP BY passiert.
godlie
godlie 16.12.2010 um 12:44:50 Uhr
Goto Top
Soweit war ich auch schon, nur ein HAVING VR = NULL bringt nicht wirklich ein Ergebnis, oder hab ich einfach einen falschen Denkansatz
32067
32067 16.12.2010 um 12:59:07 Uhr
Goto Top
Mal VR IS NULL versucht ? Die normalen Operatoren wie '=' darf man da nicht nehmen.
godlie
godlie 16.12.2010 um 13:41:14 Uhr
Goto Top
Tja wie war das mit den Bäumen und dem Wald ...

Danke hat funktioniert face-smile