Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] wykorzystanie pola z AS w instrukcji WHERE
Forum PHP.pl > Forum > Przedszkole
Octobus
Witam, mam zapytanie:

Kod
select
                `baza`.`id`, `baza`.`id_produktu`,
                IF(`baza`.`nazwa` IS NULL or `baza`.`nazwa` = "", `produkty`.`nazwa`, `baza`.`nazwa`) as `nazwa`,
                IF(`baza`.`opis` IS NULL or `baza`.`opis` = "", `produkty`.`opis`, `baza`.`opis`) as `opis`,
            from
            `'.$this->baza.'` as `baza`
            inner join `produkty` on `baza`.`id_produktu` = `produkty`.`id`
            '.$parametry['where'].'
            '.$parametry['order_by'].'
            '.$parametry['limit']



czyli nazwa jezeli jest pusta w tabeli `baza` to pobiera ja z tabeli `produkty`
i teraz w where chce wrzucic zeby wyszukiwal w nazwie lub opisie okreslonego ciagu znakow:

$parametry['where'] = 'MATCH(`nazwa`, `opis`) AGAINST ('.$dane['szukaj'].') > 0';

problem w tym ze kolumna `nazwa` jak i `opis` jest dwuznaczna. Gdy zmienie to na np. `nazwa2` to oczywiscie nie ma takiej kolumny. Nie chce w kazdym warunku pisac instrukcji warunkowych, czy jest mozliwosc wykorzystania jakos pola `nazwa`, `opis` utworzonego na skutek instrukcji warunkowych ?

Ewentualnie jak byscie wy to zrobili, nie mam zadnego pomyslu jak skonstrulowac takie zapytanie
SmokAnalog
Użyj HAVING zamiast WHERE. HAVING się później wykonuje, na gotowym zbiorze.
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.