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

MySQL - SELECT und IF in Funktion

Frage Entwicklung Datenbanken

Mitglied: mabue88

mabue88 (Level 2) - Jetzt verbinden

31.08.2014, aktualisiert 13:57 Uhr, 1227 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
PHP
MySQL Select in Kombination mit einer PHP-Funktion
Frage von icegetPHP2 Kommentare

Hallo liebe Community, ich habe folgendes Problem: Ich habe eine PHP-Funktion. Diese nennt sich getWeekFromID. Diese gibt anhand einer ...

Datenbanken
Mysql Select Befehl über 3 Tabellen?
gelöst Frage von rdklieDatenbanken6 Kommentare

Guten Tag zusammen! Ich habe eine kleine Frage bezüglich Mysql. Zur Fragestellung: Die Frage wäre "Welche Mitglieder organisieren Veranstaltungen ...

PHP
Mysql select mit state als tinyint klappt nicht
Frage von marsu2PHP2 Kommentare

Hi, ich wollte meinen Mysql Select in einem PHP Script kurz um die abfrage ob ein Artikel veröffentlicht ist ...

Python
Rückgabewert von MySQL-Funktion
gelöst Frage von NativeModePython4 Kommentare

Hallo, ich habe für eine mySQL-Abfrage eine eigene Funktion erstellt und abgespeichert: Soweit so gut, das funktioniert wenn ich ...

Neue Wissensbeiträge
Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 5 StundenWindows 101 Kommentar

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 6 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 1 TagViren und Trojaner2 Kommentare

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 1 TagRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Brainstorming, einfachste Option 1 getrenntes LAN (mit WAN zugang)
Frage von 132954LAN, WAN, Wireless13 Kommentare

Hi, folgendes: Wir bekommen eine Glasfaser Leitung, Und das sollte Optional so aussehen: Ein Modem/Router für das WAN, ein ...

Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Netzwerkgrundlagen
Hi eine blöde frage. xD
Frage von 132954Netzwerkgrundlagen12 Kommentare

Also: Habe 2012 r2 essentials neuinstalliert, allerdings installiert diese version ja gleich diesen gangen AD kram mit, den hab ...