Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

MSSQL Union mit 3 Selects nur wenn nicht leer

Frage Entwicklung Datenbanken

Mitglied: joni2000de

joni2000de (Level 1) - Jetzt verbinden

18.12.2011 um 22:05 Uhr, 3953 Aufrufe, 5 Kommentare

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
Mitglied: filippg
19.12.2011 um 00:58 Uhr
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
Bitte warten ..
Mitglied: nxclass
19.12.2011 um 09:43 Uhr
kann man da nicht einfach ein:
01.
SELECT x.* FROM ( 
02.
/* UNION */ 
03.
) x 
04.
WHERE x.`dasWichtigeFeld` IS NOT NULL
herum bauen !?

EDIT oder gleich
01.
/*Select 1 */ 
02.
UNION 
03.
/*Select 2 */ 
04.
UNION 
05.
/*Select 3 */ WHERE `dasWichtigeFeld` IS NOT NULL
Bitte warten ..
Mitglied: Biber
19.12.2011 um 09:55 Uhr
Moin nxclass,


das ist aber inhaltlich etwas anderes als
01.
SELECT x.* FROM ( 
02.
     SELECT sülz, di, bülz as dasWichtigeFeld  FROM tabelle1 
03.
         UNION  
04.
    SELECT la, le, lu FROM tabelle2 
05.
         UNION  
06.
   SELECT gib, mir, fuenf  FROM tabelle3 
07.
 WHERE fuenf IS NOT NULL 
08.
) x 
09.
;
[Edit] Hat sich mit nxclass' Edit erledigt -- Kommentar gegenstandslos .. [/Edit]

Grüße
Biber
Bitte warten ..
Mitglied: nxclass
19.12.2011 um 11:05 Uhr
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
Bitte warten ..
Mitglied: joni2000de
19.12.2011 um 12:44 Uhr
Hab doch gewusst, dass da irgendwo eine Leitung war. War wohl schon zu spät.

Danke an alle!
Gruß Joni
Bitte warten ..
Ähnliche Inhalte
Outlook & Mail
Outlook 2010 - Datendatei plötzlich leer (14)

Frage von fraluhil zum Thema Outlook & Mail ...

Netzwerke
gelöst VM MSSQL Windows Server - Keine Verbindung zum Server auf VM möglich (3)

Frage von Zero01 zum Thema Netzwerke ...

Batch & Shell
gelöst TXT Datei bleibt nach Erstellung leer - woran liegt es? (14)

Frage von Komoran12 zum Thema Batch & Shell ...

Datenbanken
gelöst MSSQL-Benutzer . Zugriff nur auf 2 Tabellen und 1 View (3)

Frage von Snuffchen zum Thema Datenbanken ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...

Server-Hardware
Einem Stromausfall entgegen wirken (19)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...

Microsoft Office
gelöst VBA Excel Problem mit UserForm, ListBox und TextBox (12)

Frage von abuelito zum Thema Microsoft Office ...