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, 1196 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
VB for Applications
gelöst Feld mit CSV-Daten aus MySQL-Datenbank einlesen (3)

Frage von Andreas.HH1 zum Thema VB for Applications ...

Voice over IP
gelöst Muss ein Switch eine bestimmte Funktion könnten um VoIP zu ermöglichen (17)

Frage von WinLiCLI zum Thema Voice over IP ...

Datenbanken
gelöst MYSQL Abfrage Werte summieren (3)

Frage von Ghost108 zum Thema Datenbanken ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(2)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (36)

Frage von Datsspeed zum Thema Exchange Server ...

Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

Windows 10
Windows Store Apps ohne Windows Store installieren (10)

Frage von keefien zum Thema Windows 10 ...

Internet Domänen
Nameserver ein Geist? (9)

Frage von zelamedia zum Thema Internet Domänen ...