MysterioJN
SQL-Guru
- Beiträge
- 158
Hallo zusammen,
mein erster Eintrag in diesem Forum; natürlich mit einer Fragestellung
Kurze Erläuterung der IST-Situation:
- Zwei Tabellen (tab = Bestellungen; vtadressen = Kundendaten)
Es sollen vom Nutzer im "Front-End" (DNN) Abfragekriterien gewählt werden können, die sich herkunftsmäßig sowohl auf die:
- "tab" Tabelle beziehen
(Hier werden Dank "Left Join" auch wirklich alle Bestellungs-Datensätze der tab angezeigt, egal ob die Kunden in der vtadressen nicht mehr vorhanden sind)
- ein Wert (PLZ) der sich auf die Herkunft aus der "vtadressen" Tabelle bezieht:
(Hier werden LEIDER nur wirkliche Treffer der vtadressen angezeigt, was das Gesamtergebnis der Bestellungen verfälscht).
Angewendeter Select:
Mir macht echt der Part mit dem Kriteriumsbezug auf die Postleitzzahl (PLZ) die Probleme (Rot markiert im Bild), das nicht alle Bestellungsdatensätze angezeigt werden, obwohl die Abfrage den richtigen Join verwendet....
Nehme ich die Möglichkeit der Kriteriumswahl auf die Postleitzahl raus, ist das Ergebnis vollständig, aber keine Möglichkeit mehr gegeben, nach Postleitzahlen zu filtern.
Kann ich an der Stelle des Bezuges auf das Kriterium Postleitzahl mitteilen, das er auch nicht vorhanden als leer anzeigen soll? Sprich sich nach dem zuvor gewählten Left Join richten und nicht an der Stelle ihn außer Acht lassen soll.
Hoffe ich konnte mich halbwegs ausdrücken. Hab auch noch nicht so viel Erfahrung mich mit sql mitzuteilen....
Viele Grüße und Danke fürs lesen und vlt. sogar helfen!!!!
Myst
mein erster Eintrag in diesem Forum; natürlich mit einer Fragestellung
Kurze Erläuterung der IST-Situation:
- Zwei Tabellen (tab = Bestellungen; vtadressen = Kundendaten)
Es sollen vom Nutzer im "Front-End" (DNN) Abfragekriterien gewählt werden können, die sich herkunftsmäßig sowohl auf die:
- "tab" Tabelle beziehen
(Hier werden Dank "Left Join" auch wirklich alle Bestellungs-Datensätze der tab angezeigt, egal ob die Kunden in der vtadressen nicht mehr vorhanden sind)
- ein Wert (PLZ) der sich auf die Herkunft aus der "vtadressen" Tabelle bezieht:
(Hier werden LEIDER nur wirkliche Treffer der vtadressen angezeigt, was das Gesamtergebnis der Bestellungen verfälscht).
Angewendeter Select:
Code:
SELECT
Year(tab.tad) as Jahr,
Month(tab.tad) as Monat,
tab.knr as KdNr,
vtadressen.an,
vtadressen.nn as Nachname,
vtadressen.fi as Firma,
vtadressen.mail,
vtadressen.tel,
vtadressen.plz,
tab.st as Stueck,
tab.anr as Artikel,
tab.akz,
tab.bcode as B,
vtadressen.rgr as KG,
IF(vtadressen.werbung_post =1,'ja','nein') as P,
IF(vtadressen.werbung_email =1,'ja','nein') as E
FROM tab
LEFT JOIN vtadressen ON tab.knr = vtadressen.knr
WHERE (((tab.status) = 'versendet') AND (anr LIKE '[PARAMETER:ANR]%') AND (st>= '[PARAMETER:ST]') AND (vtadressen.plz LIKE '[PARAMETER:PLZ]%') AND (tab.bcode LIKE '[PARAMETER:Branche]%') AND (tab.akz LIKE '[PARAMETER:Aktion]%') AND (Year(tab.tad) LIKE '%[PARAMETER:Jahr]%') )
Mir macht echt der Part mit dem Kriteriumsbezug auf die Postleitzzahl (PLZ) die Probleme (Rot markiert im Bild), das nicht alle Bestellungsdatensätze angezeigt werden, obwohl die Abfrage den richtigen Join verwendet....
Nehme ich die Möglichkeit der Kriteriumswahl auf die Postleitzahl raus, ist das Ergebnis vollständig, aber keine Möglichkeit mehr gegeben, nach Postleitzahlen zu filtern.
Kann ich an der Stelle des Bezuges auf das Kriterium Postleitzahl mitteilen, das er auch nicht vorhanden als leer anzeigen soll? Sprich sich nach dem zuvor gewählten Left Join richten und nicht an der Stelle ihn außer Acht lassen soll.
Hoffe ich konnte mich halbwegs ausdrücken. Hab auch noch nicht so viel Erfahrung mich mit sql mitzuteilen....
Viele Grüße und Danke fürs lesen und vlt. sogar helfen!!!!
Myst
Anhänge
Zuletzt bearbeitet: