Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Prüfen ob Wert in Menge (SET) [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Prüfen ob Wert in Menge (SET)


 
Piremilok
22-07-2010, 18:05 
 
Hi,

ich habe eine SQL-Abfrage, bei der ich prüfen muss, ob das Feld "statustext" bestimmte Werte enthält.
Es gibt insgesamt 25 verschiedene Werte und ich muss auf 7 prüfen.

Derzeit mache ich das mit
... WHERE (statustext = 'a' OR statustext = 'b' OR ... OR statustext = 'g') AND ...

Gibt es dafür eine bessere Lösung via z.b:
... WHERE statustext in ['a', 'b', ..., 'g'] AND ... ?

Vielen Dank.


gruß
Piremilok

 
Kropff
22-07-2010, 18:07 
 
Wenn die Werte durch ein Komma getrennt sind, hilft FIND_IN_SET

Peter

 
eagle275
22-07-2010, 18:37 
 
wenn es nur auf einen einzelnen buchstaben ankommt, könntest du auch switch .. case benutzen

 
Piremilok
23-07-2010, 00:31 
 
Hi,

es geht eher um ganze Wörter.
Da ist das von Kropff eigentlich schon richtig.
Ich habe jetzt zwar keine Kommas dabei, aber was wäre wenn?

Vielen Dank schon einmal.
Hat mir sehr weitergeholfen.

gruß
Piremilok

 
Kropff
23-07-2010, 10:39 
 
Mit Kommata funktioniert das. Vielleicht hast du auch einen Designfehler begangen. Poste doch mal die Struktur der Datenbank nd erläutere Die Beziehung der Tabellen.

Peter

 
combie
23-07-2010, 11:37 
 
Gibt es dafür eine bessere Lösung via z.b:
... WHERE statustext in ['a', 'b', ..., 'g'] AND ... ?
Warum nicht so:
... WHERE statustext IN ('a','b','g') AND ...
??

 
Piremilok
23-07-2010, 16:45 
 
Hi,

warte, ich such den Smilie...
Ah, gefunden: http://img3.imagebanana.com/img/u2z2k87r/thumb/wall.gif (http://www.imagebanana.com/view/u2z2k87r/wall.gif)

:danke:

Vielen Dank! Genau das ist es, was ich gesucht habe und leider war ich nicht fähig runde Klammern statt eckiger zu verwenden. Manchmal sieht man den Wald vor lauter Bäumen echt nicht mehr!

gruß
Piremilok

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:08 Uhr.