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

MySQL - SELECT und IF in Funktion

Frage Entwicklung Datenbanken

Mitglied: mabue88

mabue88 (Level 2) - Jetzt verbinden

31.08.2014, aktualisiert 13:57 Uhr, 1194 Aufrufe, 2 Kommentare

Hallo,

ist es möglich eine SELECT-Abfrage als Bedingung in einer IF-Abfrage zu verwenden?

Das Problem löse ich aktuell so:

01.
FUNCTION `TestFunktion`(my_value VARCHAR(16)) RETURNS tinyint(1) 
02.
BEGIN 
03.
	DECLARE my_count INT; 
04.
 
05.
	SELECT COUNT(*) INTO my_count 
06.
	FROM test_tabelle 
07.
	WHERE value = my_value; 
08.
 
09.
	IF my_count > 0 THEN 
10.
		RETURN true; 
11.
	ELSE 
12.
		RETURN false; 
13.
	END IF; 
14.
END
Aber es gibt doch bestimmt eine Möglichkeit, bei der nicht zuerst eine Variable deklariert, die Abfrage durchgeführt und dann erst die Entscheidung mit der IF-Abfrage kommt...

Wie würdet ihr so eine Abfrage in der Funktion gestalten?

Danke
mabue
Mitglied: emeriks
LÖSUNG 31.08.2014, aktualisiert um 13:57 Uhr
Hi,
das müsste mit CASE gehen. Etwa so:

01.
SELECT   Test = 
02.
      CASE COUNT(*) 
03.
         WHEN 0 THEN FALSE 
04.
         ELSE TRUE 
05.
      END, 
06.
   Name 
07.
FROM test_tabelle 
08.
WHERE value = my_value
Das stimmt do noch nicht ganz, aber irgendwie in diese Richtung geht das.

E.
Bitte warten ..
Mitglied: mabue88
31.08.2014 um 13:59 Uhr
Hallo emeriks,

das war ein sehr guter Tipp! So klappt die Abfrage:

01.
	SELECT  
02.
		CASE COUNT(*) 
03.
			WHEN 0 THEN FALSE 
04.
			ELSE TRUE 
05.
		END 
06.
	FROM test_tabelle 
07.
	where value = my_value;
Bitte warten ..
Ähnliche Inhalte
Verschlüsselung & Zertifikate
Zugriff auf mySQL-DB mit ODBC und SSL (2)

Frage von Titan24 zum Thema Verschlüsselung & Zertifikate ...

Cluster
Brauche hilfe beim einrichten von Galera Cluster for MySQL

Frage von akadawa zum Thema Cluster ...

Datenbanken
MySQL - Mehrere Instanzen

Frage von ForgottenRealm zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Windows 7
gelöst BOOTMGR is missing (auch nach bootrec -RebuildBcd) (20)

Frage von Mipronimo zum Thema Windows 7 ...

Router & Routing
Tipps für Router (ca. 100 clients, VPN) (19)

Frage von oel-auge zum Thema Router & Routing ...

Windows Userverwaltung
Windows Freigabe: Zugriff auf alle Ordner trotz Sicherheitseinstellungen (17)

Frage von Pandreas zum Thema Windows Userverwaltung ...

TK-Netze & Geräte
gelöst Convert von TAPI auf CAPI gesucht (13)

Frage von StefanKittel zum Thema TK-Netze & Geräte ...