if in mysql

hoctar

Erfahrenes Mitglied
Hallo :)
Wie kann man in MySQL if Abfragen machen?

Beispiel:
Code:
SELECT name
    FROM artikel
 WHERE id = 1
 IF(schauComments == 1)
 BEGIN
    AND comments > 0
 END

schauComments ist ein Feld das ich auf 1 setzen kann, wenn ich Artikel mit Kommentaren gelistet haben will.
 
Zuletzt bearbeitet:
was möchtest du denn erreichen mit der if abfrage?

also: wenn was?

Wurde ein abfrage wert übermittelt oder willst du alles anzeigen?
 
Du brauchst keine IF dafür.

SQL:
SELECT name FROM artikel WHERE id = 1
AND (schauComments OR comments>0)

MySQL wertet alles ungleich 0 als true, deshalb spar ich mir das "==1". Und die Boolesche Algebra sagt uns, dass "comments>0" nur ausgewertet wird, wenn "schauComments" unwahr ist.

Aber schöner wäre es, wenn du das aus der Query raus halten würdest, sofern ich richtig verstanden habe, was du überhaupt vor hast.
 
Zuletzt bearbeitet:
was möchtest du denn erreichen mit der if abfrage?

also: wenn was?

Wurde ein abfrage wert übermittelt oder willst du alles anzeigen?

Eine kleine änderung: Also wenn schauComments deaktiviert ist, soll garnicht auf die comments geachtet werden.

EDIT:
So könnte es gehen:
Code:
SELECT name
    FROM   artikel
WHERE  id = 1
      AND (schauComments != 1 OR comments > 0)

Danke CPoly
 
Zuletzt bearbeitet:
Zurück