SELECT mit Wert und ohne Wert

Alles zum SQL-Dialekt

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21200
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

SELECT mit Wert und ohne Wert

Beitrag von Manfred »

Überschrift klingt sicherlich ein wenig komisch, aber hier das Problem:

Code: Alles auswählen

SELECT  kd.*,
        sch.bez AS Schule,
        hststart.name AS haltestellestart,
        hstziel.name AS haltestelleziel,
        et.origin,
        ticket.*,
      ticket.id AS idticket,
        ta.gueltigmonat,
        ta.gueltigjahr
FROM mandanten kd
LEFT JOIN schulen sch ON sch.id = kd.idschule
LEFT JOIN gemeinsameDaten.haltestellen hststart ON hststart.haltestellennr = kd.haltestellennrstart
LEFT JOIN gemeinsameDaten.haltestellen hstziel  ON hstziel.haltestellennr = kd.haltestellennrziel
LEFT JOIN ticketlaufzeit ticket ON ticket.idmandant=kd.id
LEFt JOIN ticketabruf ta ON ta.idticketlaufzeit=ticket.id
LEFT JOIN eventtemplates et ON et.produktnummer=ticket.produktnummer
WHERE EMPTY(ticketartbez) AND ta.gueltigmonat = 8 and ta.gueltigjahr = 2023 OR ta.gueltigmonat = 0
ORDER BY kd.name, kd.vorname, ticket.ticketartbez
hierbei bekomme ich nur den entsprechenden Monat mit dem Jahr. Jetzt habe ich aber das Problem, das es auch Sätze gibt, die keinen Ticketabruf haben. Die müssen auch angezeigt werden. Geht sowas und wenn ja wie? Also eigentich:"zeige mir alle die Tickets zum Monat und Jahr haben, aber auch die die nicht da rein fallen." Den Rest laß weg. Es muß deshalb so sein, weil es für verschiedene Monate usw. Tickets gibt, die sollen aber nur im entsprechenden Monat angezeigt werden. Oder eben halt auch oder nur die, die keine Tickets haben für den entsprechenden Monat.
Ist jetzt nur eine Idee, dieser SQl Befehl ist nicht unbedingt in Stein gemeißelt. enn es so nicht geht... Ist jetzt ADS. Oder kann mann evtl. 2 SELECT Befehle addieren? Also erstmal die mit dem Inhalt für den jeweiligen Monat und dann einen weitern nur mit denen, die keinen Monat haben?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 852
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: SELECT mit Wert und ohne Wert

Beitrag von Marcus Herz »

Im Prinzip geht's so:
Wenn du für jeden Monat ein Ergebnis brauchst, musst du eine (Temp) Tabelle haben, in der jeder Monat auch drinsteht. Und dann einen Verknüpfung dazu, so dass jeder Monat auch angezeigt wird, mit oder ohne Ticket

Altrernativ kannst du auch ein UNION machen, der erste Teil bleibt dein SQL, im zweiten Teil musst du dann die Monate ergänzen die im ertsen fehlen, dann brauchst du aber auch wieder eine Monatsttabelle...


PS: Ich hab dir Frage falsch verstanden..... melde mich nochmal
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21200
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: SELECT mit Wert und ohne Wert

Beitrag von Manfred »

ok,
Danke. Ich hatte gehofft, das es in einem Befehl geht. Also werde ich alles in ein Result packen und dann im Code nachträglich nochmal "filtern".
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 852
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: SELECT mit Wert und ohne Wert

Beitrag von Marcus Herz »

neuer Versuch:

Code: Alles auswählen

WHERE EMPTY(ticketartbez) AND ta.gueltigmonat = 8 and ta.gueltigjahr = 2023 OR ta.gueltigmonat = 0
hier ist es immer besser, obwohl unnötig, Klammern zu setzen, weil leserlicher,

Code: Alles auswählen

WHERE (EMPTY(ticketartbez) AND ta.gueltigmonat = 8 and ta.gueltigjahr = 2023) OR ta.gueltigmonat = 0
Wenn es keinen ta Satz gibt, ist die Bedingung ta.gueltigmonat = 0 falsch, wer Wert ist NULL, also

Code: Alles auswählen

WHERE (EMPTY(ticketartbez) AND ta.gueltigmonat = 8 and ta.gueltigjahr = 2023) OR ta.gueltigmonat IS NULL
Hilft dir das weiter?
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21200
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: SELECT mit Wert und ohne Wert

Beitrag von Manfred »

ist zu früh heute morgen. Muß ich mir später nochmal ansehen. :roll:
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 852
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: SELECT mit Wert und ohne Wert

Beitrag von Marcus Herz »

ist zu früh heute morgen. Muß ich mir später nochmal ansehen. :roll:
Bist du noch gar nicht richtig wach? :D
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21200
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: SELECT mit Wert und ohne Wert

Beitrag von Manfred »

doch, aber irgendwie sind wir gerade hier zu viert oder mehr im Raum. :roll:
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Antworten