Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: IF w zapytaniu
Forum PHP.pl > Forum > Bazy danych > MySQL
ketna
Witam,
Potrzebuję doprowadzić do tego, żeby gdy zmienna=99, warunek tabela.kolumna='zmienna' znikał z zapytania.

Coś takiego powinno teoretycznie działać ale niestety nie działa:
...WHERE IF(zmienna!='99', tabela.kolumna='zmienna', ) ORDER BY...

Męczę się już z tym trzeci dzień, dlatego proszę o pomoc.
SongoQ
Nie mozesz generowac zapytania z php?
ketna
Właśnie w tym problem. Bo nie mogę użyć php w cgi. Dlatego muszę to załatwić wewnątrz zapytania mysql.
SongoQ
Pewnie piszesz w perlu? przeciez tam tez sa warunki.

Zobacz moze Ci to pomoze -> http://dev.mysql.com/doc/mysql/en/if-statement.html
FiDO
  1. ... WHERE ('zmienna' = '99' OR tabela.kolumna = 'zmienna') ...

Po co sie meczyc.. wystarczy zwykla logika. Jesli zmienna bedzie rowna 99 to nastapi spelnienie warunku i dalsza jego czesc nie bedzie w ogole sprawdzana (warunek zwroci TRUE, wiec ten wiersz nie zostanie odrzucony z wyniku zapytania), w przeciwnym wypadku zostanie sprawdzony warunek drugi.
ketna
Świetny pomysł, wielkie dzięki!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.