-
 Zitat von Fuerchau
Deine komplizierte Abfrage ist da schon eher mit Dieters Beispiel "between" ablösbar.
Schade, dass Dir mein Beispiel zu kompliziert ist!
Dieters Abfrage wird nur die Zeilen auswählen die auch einen echten Wert haben, jedoch nicht die Zeilen, die einen NULL-Wert haben.
Wenn Du also von *LOVAL zu *HIVAL alles selektierst gehen Dir die NULL-Werte durch die Lappen, d.h. Du musst zusätzlich eine IS NULL-Abfrage hinzufügen um alle Sätze zu bekommen!
... und genau das umgehe ich mit dem IS NOT DISTINCT FROM!
Die darauffolgende CASE-Anweisung sorgt nur dafür, dass entweder nur der übergebene Wert oder eben alle Werte (inkl. NULL-Werten) ausgewählt werden.
Ansonsten hätte schon mein erstest Beispiel mit der CASE-Anweisung wahlweise die ausgewählten Werte oder alle Zeilen zurückgebracht (da hätte man Deine Lösung, die i.Ü. Dieter Schröder gleich in der ersten Antwort gebracht hat, und die abgelehnt wurde nicht nochmal gebraucht!)
... und außerdem ist nicht jedes Eingabe-Feld alphanumerisch, was jeweils in Deiner Lösung auch korrekt berücksichtigt werden sollte!
Das war m.E. die ursprüngliche Frage, die anschließend nochmal korrigiert wurde, nämlich dahingehend, dass bei NICHT-Eingabe alles ausgewählt wird.
Was man durch ein bei 64 Auswahlen wahrscheinlich wesentlich komplizierteres dynamisches SQL lösen wollte.
Bei der (gnadenlosen) Konvertierung mit COALESCE (in den WHERE-Bedingung) kann nicht mehr sauber zwischen NULL-Wert und Default-Wert unterschieden werden.
Da in dem ursprünglichen Beispiel lediglich ein Count(*) ausgeführt wird, werden grundsätzlich alle Sätze gezählt und ein COALESCE ist unnötig. Bei nicht gefunden wird auch nichts ausgegeben!
... aber Du hast recht warum sollte man alles verkomplizieren (z.B. mit dynamischem SQL und/oder Indikator-Variablen, die dann in 64 IFs geprüft und genauso in 64 Zeilen gesetzt werden müssen) wenn man es auch einfach haben kann?
Similar Threads
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 28-02-25, 13:42
-
By fdh in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 15-01-20, 08:17
-
By dibe in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 13-11-18, 08:14
-
By alexander may in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 30-03-05, 14:56
-
By RLurati in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 18-01-05, 11:38
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks