joni2000de
Goto Top

MSSQL Union mit 3 Selects nur wenn nicht leer

Hi Admins,

ich hoffe mal wieder auf eure Hilfe. Ich habe ein Abfrage mit 3 Selects die mit Union verbunden sind. Soweit funktioniert auch alles, doch im 3. Select ist es möglich, dass ein NULL zurückgeliefert wird (nur in einer bestimmten, nämlich der relvanten, Spalte). Jetzt möchte ich, wenn in dieser Spalte ein NULL geliefert wird, das letzte Select nicht ausführen (als Ergebnis dieses Selects ist immer nur eine Zeile möglich). Geht das mit Union oder muss ich die ganze Abfrage umbauen?

Danke für eure Infos.
Gruß Joni

Content-ID: 177858

Url: https://administrator.de/forum/mssql-union-mit-3-selects-nur-wenn-nicht-leer-177858.html

Ausgedruckt am: 23.12.2024 um 12:12 Uhr

filippg
filippg 19.12.2011 um 00:58:39 Uhr
Goto Top
Hallo,

hm... verstehe ich nicht. Wenn du in der Dritten Abfrage ein WHERE spalte IS NOT NULL hast, sollte diese diese Abfrage keine Zeile zurückliefern, was also den Effekt hätte, als würde das letzte Select nicht ausgeführt (was ja das ist, was du wolltest).

Gruß

Filipp
nxclass
nxclass 19.12.2011 um 09:43:22 Uhr
Goto Top
kann man da nicht einfach ein:
SELECT x.* FROM (
/* UNION */
) x
WHERE x.`dasWichtigeFeld` IS NOT NULL
herum bauen !?

EDIT oder gleich
/*Select 1 */
UNION
/*Select 2 */
UNION
/*Select 3 */ WHERE `dasWichtigeFeld` IS NOT NULL
Biber
Biber 19.12.2011 um 09:55:46 Uhr
Goto Top
Moin nxclass,


das ist aber inhaltlich etwas anderes als
SELECT x.* FROM (
     SELECT sülz, di, bülz as dasWichtigeFeld  FROM tabelle1
         UNION 
    SELECT la, le, lu FROM tabelle2
         UNION 
   SELECT gib, mir, fuenf  FROM tabelle3
 WHERE fuenf IS NOT NULL
) x
;

[Edit] Hat sich mit nxclass' Edit erledigt -- Kommentar gegenstandslos .. [/Edit]

Grüße
Biber
nxclass
nxclass 19.12.2011 um 11:05:48 Uhr
Goto Top
das ist aber inhaltlich etwas anderes als
doch im 3. Select ist es möglich, dass ein NULL zurückgeliefert wird (nur in einer bestimmten, nämlich der relvanten, Spalte)
das stimmt - ich bin allerdings davon ausgegangen, dass in den 2 anderen SELECT's dieses Feld sicher nicht NULL ist
joni2000de
joni2000de 19.12.2011 um 12:44:54 Uhr
Goto Top
Hab doch gewusst, dass da irgendwo eine Leitung war. War wohl schon zu spät.

Danke an alle!
Gruß Joni