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

gelöst SQL 2005 - IF (Select gleich leer)

Mitglied: Fred666

Fred666 (Level 1) - Jetzt verbinden

18.07.2011 um 15:32 Uhr, 4067 Aufrufe, 6 Kommentare

Hi,

eine kleine Frage:

wie fange ich am einfachsten eine Selcect anweisung ab, die nichts findet?!?

also so in der Art:

IF (IS NULL(SELECT ...))
Begin
....
END


grüße Fred
Mitglied: it-frosch
18.07.2011 um 15:45 Uhr
Hallo Fred,

vielleicht ein count(*) auswerten?
Wenn das 0 ist dann gab es auch keine Datensätze.

Genauere Antworten kann man dir geben wenn du etwas mehr den Zusammenhang beschreibst.

grüße vom it-frosch
Bitte warten ..
Mitglied: Fred666
18.07.2011 um 16:01 Uhr
Hi,

okey mein Fehler...
also ich habe eine SELECT-Anweisung, welche mir aus verschiedenen Tabellen Spalten auswählt, und manche noch verrechnet etc. Es gibt auch eine Spalte: Freie_Räume
Als WHERE Bedingung habe ich @datum < '2011-06-27 11:00:00'

So nun will ich wissen ob er was gefunden hat.
Wenn ja, dann rechnet er was aus und fügt es in die Spalte 'Freie_Räume' ein. Wenn nicht, dann soll er die maximal zulässige Anzahl an Räumen in diese Spalte einfügen.

Meine Frage war deshalb kann ich die SELECT-Anweisung irgendwie mit einer IF (IS NULL...) oder ähnlichem abfragen?!?

Grüße Fred
Bitte warten ..
Mitglied: it-frosch
18.07.2011 um 16:22 Uhr
Hallo Fred,

mit dem Select Befehl kannst du m.E. kein Verzweigungen bauen. Das geht nur in einer Stored Procedure.
Soll das ein Report werden oder willst du nur Daten sammeln die du dann in Excel schüttest?
Nutzt du einen Reportgenerator? Wenn ja dann müsstest du das in dem abfangen.

Du könntest für die Spalte auch select count(*) from raeume where raumnummer not in (select raumnummer from raumtermine where termin<="30.07.2011")
nehmen und die entstehende 0 bzw NULL umsetzen.


grüße vom it-frosch
Bitte warten ..
Mitglied: Fred666
18.07.2011 um 17:05 Uhr
Hallo it-frosch,

also im Prinzip will ich keine select anweisung verzweigen, sondern lediglich feststellen ob er was gefunden hat. Ich habe es mit Count <>0 versucht und es klappt einwandfrei.

Meine Frage noch: Wenn er was gefunden hat dann soll er mir das in eine neue Temp Tabelle legen. Weisst du vll wie ich eine mit Select ersetllte Tabelle in eine Temp-Tabelle kopiere?!
Der Grund ist der, dass ich anhand von dieser TEmpTabelle dann eine weitere Tabelle fülle die abhängt von anderen Tabellen.

EDIT: ich hätte das jetzt über eine Cursor gelöst der geladen wird mit der Select-Anweisung und in einer While Schleife das nach und nach in die TempTabelle kopiert. Geht das aber auch einfacher???

EDIT 2: bzw. wenn ich das über cursor mache, kann ich mir die count-Abfrage spraren und eher eine Abfrage wie: IF @@FETCH_STATUS <> 0 bezogen auf den Cursor generieren oder ist das totaler Anfänger-Blödsinn von mir?!

Grüße und danke Fred!
Bitte warten ..
Mitglied: MadMax
18.07.2011 um 21:59 Uhr
Nabend Fred,

zum ersten Teil:
select ... into #TempTab from ...

zum zweiten Teil:
Ja, das mit dem count könntest Du Dir sparen, wenn Du das Problem mit einem Cursor löst, weil der Cursor dann nämlich leer wäre. Cursor würde ich aber nur dann verwenden, wenn es sich nicht vermeiden läßt. Ein einziger Befehl ist nämlich deutlich schneller als eine Schleife mit x inserts.

Gruß, Mad Max
Bitte warten ..
Mitglied: Fred666
20.07.2011 um 10:06 Uhr
So HI,

danke für eure Mühen, habe das Problem gelösts bekommen ( mit dem Count (*) <>0)
Scheint wohl bei einer Select-Anweisung der einfachste Weg zu sein!

Grüße Fred
Bitte warten ..
Ähnliche Inhalte
Datenbanken
Select column by id ORALCE SQL
gelöst Frage von 94451Datenbanken2 Kommentare

Hallo Liebe Leut, gibt es die Möglichkeit eine Column anhand einer ID zu selekiteren? wenn ich einen Abruf mache ...

Datenbanken
IF Abfrage im SELECT Oracle SQL
gelöst Frage von 94451Datenbanken2 Kommentare

Hallo , ist es möglich im SELECT eine IF-Abfrage machen (bin auch offen für eine andere Lösung). >SELECT ID, ...

Datenbanken

SQL Statement - Select TOP x - Variables Filterkriterium

Frage von Blu3Scr33nDatenbanken3 Kommentare

Hallo liebe Administratoren, ich baue mir grade eine kleine Access-DB zusammen und bin dabei auf ein Problem gestoßen: Ich ...

Datenbanken

SQL 2008 Datenbankbackup in eine SQL 2005 Datenbank einfügen?

Frage von mymomoDatenbanken3 Kommentare

Moin! Ich muss bei einem Kunden ein aus SQL 2008 erstelltes Backup in eine SQL 2005 Datenbank einstellen. Wie ...

Neue Wissensbeiträge
Windows 10

Windows 10 kann XPS erzeugen aber nicht anzeigen ????

Erfahrungsbericht von Deepsys vor 2 StundenWindows 10

Heute schickt mir ein Kollegen eine E-Mail mit einer XPS-Datei vom Kunden im Anhang und fragt wie er diese ...

Exchange Server

1und1 IONOS: Probleme beim Mailversand mit Exchange

Information von reksierp vor 12 StundenExchange Server3 Kommentare

Hallo, seit Do, 17.1.19 etwa Mittags nimmt 1und1 IONOS keine Mails mehr über den Standard-Port SMTP 25 an. Nachdem ...

LAN, WAN, Wireless

Cisco Mikrotik VPN Standort Vernetzung mit dynamischem Routing

Anleitung von aqui vor 1 TagLAN, WAN, Wireless

1. Allgemeine Einleitung Das nachfolgende Tutorial ist eine Fortführung der hier bei Administrator.de schon bestehenden VPN Tutorials und beschreibt ...

Windows Mobile

Support für Windows Mobile endet im Dezember 2019

Information von transocean vor 2 TagenWindows Mobile

Moin, Microsoft empfiehlt als Alternative den Umstieg auf iOS oder Android, wie man hier lesen kann. Gruß Uwe

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Temporäre WLAN Verbindung für AD-Login
Frage von Christian.WidauerLAN, WAN, Wireless17 Kommentare

Hallo zusammen, ich weiß leider nicht unter welchem Begriff ich dafür suchen muss, daher habe ich bisher leider nichts ...

LAN, WAN, Wireless
Bekannte Drosselungen bei Providern ?
Frage von HenereLAN, WAN, Wireless15 Kommentare

Servus zusammen, in bereits angefangen, aber ich hoffe dass der Beitrag hier mehr Informationen bringt. Sind Portdrosselungen bzw gezielte ...

Windows Server
MSSQL Backup in Form von .sql einspielen
Frage von janosch12Windows Server14 Kommentare

Guten Morgen, wir verwenden das Tool SQLandFTPBackup ( ) zum sichern einiger MSSQL Datenbanken. Nun sichert das Toll die ...

Netzwerkmanagement
Reverse Proxy für TCP und UDP Anfragen
gelöst Frage von flxklsNetzwerkmanagement14 Kommentare

Hallo zusammen, ich besitze einen Rootserver, der nur eine öffentliche IP besitzt und auf dem mehrere VMs laufen. Da ...