Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] wykorzystanie pola z AS w instrukcji WHERE
Octobus
post 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
Go to the top of the page
+Quote Post
SmokAnalog
post 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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 09:27