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-Key: 177858

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

Printed on: April 19, 2024 at 13:04 o'clock

Member: filippg
filippg Dec 18, 2011 at 23:58:39 (UTC)
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
Member: nxclass
nxclass Dec 19, 2011 at 08:43:22 (UTC)
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
Member: Biber
Biber Dec 19, 2011 at 08:55:46 (UTC)
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
Member: nxclass
nxclass Dec 19, 2011 at 10:05:48 (UTC)
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
Member: joni2000de
joni2000de Dec 19, 2011 at 11:44:54 (UTC)
Goto Top
Hab doch gewusst, dass da irgendwo eine Leitung war. War wohl schon zu spät.

Danke an alle!
Gruß Joni