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, 4048 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
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, ...

Windows Server
SQL Server 2005
gelöst Frage von Jan1986Windows Server4 Kommentare

Hallo zusammen, wir haben in unserem Unternehmen mittlerweile 2 Server auf denen wir verschiedene Server virtualisieren. 1 Server ist ...

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 ...

Windows Server

SQL 2005 zu 2008 SP2 Migration

gelöst Frage von pencilWindows Server6 Kommentare

Guten Tag Ich plane gerade eine Windows SQL Server Migration (2005 zu 2008). Ich habe vor, sämtliche DB's (3 ...

Neue Wissensbeiträge
Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 5 StundenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 16 StundenSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 16 StundenMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 16 StundenHardware11 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux23 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL18 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...

LAN, WAN, Wireless
Kommunikation zwischen verschiedenen IP-Bereichen
Frage von DirkHoLAN, WAN, Wireless13 Kommentare

Hallo zusammen, von Unitymedia habe ich ein neues Modem (Connect Box) erhalten, das u.a. IPv4 aber keinen Bridge Mode ...

Windows Server
Domänencontroller trennen
Frage von Akit57Windows Server13 Kommentare

Hallo, ich hoffe das mir hier jemand meine Frage trotz der spärlichen Informationen die ich geben kann beantworten kann: ...