Top-Themen

Aktuelle Themen (A bis Z)

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

TSQL - IF Exists

Mitglied: CreamyCewie

CreamyCewie (Level 1) - Jetzt verbinden

28.05.2018 um 16:01 Uhr, 1221 Aufrufe, 4 Kommentare

Hallo,

ich habe folgendes Problem:


Ich habe eine SQL-Select-Abfrage. Diese sieht folgendermaßen aus:

Diese Abfrage funktioniert, wenn es einen Datensatz gibt, der die Kriterien erfüllt.

Nun brauche ich jedoch eine Abfrage, welche folgendes macht.

WENN das Select ein Ergbniss liefert, soll der Wert des Ergebnisses ausgegeben werden.
WENN es jedoch keinen entsprechenden Datensatz gibt, soll ein fixer Wert (zB "1234") ausgegeben werden.

Ich habe es schon mit folgendem Snippet versucht:

hier erhalte ich jedoch folgenden Fehler:

error - Klicke auf das Bild, um es zu vergrößern

wo bin ich hier daneben?

Ich habe es auch mit IF EXISTST .... versucht, auch hier immer ein Syntaxfehler.


Danke & LG
'
Creamy
Mitglied: ukulele-7
28.05.2018 um 16:21 Uhr
Normalerweise ist CASE WHEN 1=1 THEN 1 WHEN 1=2 THEN 2 ELSE 3 END dein Freund. Ich finde allerdings deine ganze Syntex merkwürdig, über welchen SQL Server und welchen Client reden wir hier?
Bitte warten ..
Mitglied: CreamyCewie
28.05.2018 um 16:26 Uhr
Server: SQL Server 2016 Standard
Client: SelectLine Warenwirtschaft

Die grundlegende Syntax ist mir klar.
Wenn ich if ( 1+1 = 2 ; 1 ; 2) eingebe, funktioniert es.
Wenn ich nur mein Select-Statement eingebe, funktioniert es auch.

Wenn ich die 2 befehle jedoch kombiniere, bekommen ich den Syntax-Error
Bitte warten ..
Mitglied: em-pie
28.05.2018 um 22:04 Uhr
Moin,

Baue dein Subselect in der IF-Abfrage doch in ein (Inner)-Join ein und arbeite dann, wie oben schon vorgeschlagen, in ein CASE ... WHEN... -Statement ein...

Das ist wesentlich handlicher / übersichtlicher und insbesondere Performanter, da du so das Statement nur einmal ausführst und nicht für jeden Datensatz erneut.

Gruß
em-Pie
Bitte warten ..
Mitglied: ukulele-7
01.06.2018 um 09:27 Uhr
Das ist in jedem Fall zu empfehlen.
Bitte warten ..
Ähnliche Inhalte
Datenbanken
TSQL - Abfrage filtern
gelöst Frage von CreamyCewieDatenbanken11 Kommentare

Hallo. Ich habe in meiner Datenbank 3 Tabellen, aus denen ich mittels eines Select-Befehld in Kombination mit einem Inner ...

VB for Applications
If exist - if not exist in .vbs - Datei
gelöst Frage von Komoran12VB for Applications24 Kommentare

Moin, moin, vielleicht hat jemand ja einen Tipp für mich. Mit nachfolgender .vbs lasse ich mir einen Messagebox ausgeben: ...

Datenbanken
TSQL - Abfrage Datetime Bereich
gelöst Frage von CreamyCewieDatenbanken4 Kommentare

Hallo. Ich habe eine Tabelle (table1) in welcher div. Datensätze hinterlegt sind. Eines der Felder nennt sich "Datum" (Feldtyp ...

Batch & Shell
Schleife mit Exist
gelöst Frage von casi4711Batch & Shell18 Kommentare

Hallo an alles fleißigen Scripter, ein Script soll eine Range von IPs abfragen und checken, ob ein bestimmtes Verzeichnis ...

Neue Wissensbeiträge
Netzwerkmanagement
Siemens Switche initial konfigurieren
Tipp von brammer vor 1 StundeNetzwerkmanagement1 Kommentar

Hallo, Bisher gab es für Siemens Switche die Möglichkeit die initiale Konfiguration über den Simatic Manager oder das Primary ...

Virtualisierung

VEEAM Instant VM Recovery Datenverlust möglich

Information von sabines vor 1 TagVirtualisierung

Wer instant VM Recovery unter Veeam nutzt, sollte seine Installation überprüfen. In manchen Fällen könnte es zu Datenverlust kommen, ...

Administrator.de Feedback
Hinweise auf Dienstleister oder auf Suchmaschinen
Information von Frank vor 5 TagenAdministrator.de Feedback71 Kommentare

Lieber User, Admins und Moderatoren, aus gegebenen Anlass möchte ich zwei Dinge endgültig klarstellen und für die Nachwelt festhalten: ...

Router & Routing

PfSense 2.4 IPSec VPN mobile Clients Phase 2 wird plötzlich nicht mehr aufgebaut - So einfach war die Lösung

Tipp von the-buccaneer vor 5 TagenRouter & Routing9 Kommentare

Moinsen! Nachdem ich mir hierbei nen Wolf gesucht habe, möchte ich doch die Welt an dieser simplen Lösung teilhaben ...

Heiß diskutierte Inhalte
Windows Server
Active Directory: Fehler beim Re-Promoten eines Servers
Frage von jordelWindows Server27 Kommentare

Hallo zusammen, Wir hatten einige Replikationsprobleme, weshalb ich gestern Nacht einen Domain Controller erst demoten und danach wieder promoten ...

Netzwerkprotokolle
Verständnissfrage IPv6
Frage von killtecNetzwerkprotokolle22 Kommentare

Hi, ich habe mir einen Online-Kurs zu IPv6 angeschaut. Dabei stellt sich mir die Frage der nutzbaren IPv6-Adressen. Bei ...

PHP
Dynamisches Array erstellen in PHP
Frage von Xaero1982PHP20 Kommentare

Moin Zusammen, ich bräuchte mal einen Geistesblitz. Ich habe ganz viele Daten in einer MongoDb. Ich möchte diese Daten ...

Microsoft Office
Welches MS Office Lizensmodell für 7 Arbeitsplätze in kleinen Unternehmen
Frage von harbyadmMicrosoft Office20 Kommentare

Hallo, Ich frage Euch welches Lizensmodell das günstigste ist.? ich benötige für z.Zeit 7 ARBEITSPLÄTZE , alles Windows 8-10, ...