[MySQL] wykorzystanie pola z AS w instrukcji WHERE |
[MySQL] wykorzystanie pola z AS w instrukcji WHERE |
30.05.2018, 15:38:21
Post
#1
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 1 Dołączył: 3.07.2011 Ostrzeżenie: (0%) |
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 Ten post edytował Octobus 30.05.2018, 15:53:32 |
|
|
31.05.2018, 22:55:37
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
Użyj HAVING zamiast WHERE. HAVING się później wykonuje, na gotowym zbiorze.
|
|
|
Wersja Lo-Fi | Aktualny czas: 23.04.2024 - 07:42 |