Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z pod zapytaniem
Forum PHP.pl > Forum > Bazy danych > MySQL
makusik
mam takie zapytanie:

SELECT * FROM (SELECT * FROM posts WHERE (title like '%%' or body like '%%') ORDER by id DESC) GROUP BY id_posts


chce nim osiagnac to zeby najpierw posty mi sie posegregowaly w kolejnosci odwrotnej a dopiero potem przeprowadzic na nim operacje group

niestety wyskakuje mi komunikat :

Every derived table must have its own alias


byc moze jest jakies inne rozwiazanie tego bez podzapytania

dzieki z gory za pomoc
bigZbig
Cos Ty napisal?
1 W klauzuli FROM podajesz wynik innego zapytania a powinna byc nazwa tabeli
2. Klauzula WHERE jest bez sensu. Rozumiem, ze chodzi o to aby title lub body nie bylo null.
3. Klauzula ORDER jest zawsze wykonywana po GROUP BY i nawiasy nie maja tu znaczenia.

Poza tym chyba nie wiesz do czego sluzy grupowanie. Moze wystarczy zwykle proste zapytanie.

  1. SELECT * FROM posts WHERE (title <> NULL OR body <> NULL) ORDER BY id_post DESC
makusik
no wlasnie prostego zapytania nie chce smile.gif) moze niezbyt jasno sie wyrazilem, ale juz rozwiazalem swoj problem innym sposobem smile.gif) dzieki
pitbull82
Trochę po czasie ale z komunikatem chodziło o to, że jeśli w FROM mamy podzapytanie, to rezultat musi mieć ALIAS.

Zamiast:

  1. SELECT * FROM (SELECT * FROM posts WHERE (title LIKE '%%' OR body LIKE '%%') ORDER BY id DESC) GROUP BY id_posts


powinno być


  1. SELECT tabela.* FROM (SELECT * FROM posts WHERE (title LIKE '%%' OR body LIKE '%%') ORDER BY id DESC) AS tabela GROUP BY id_posts


Pozdrawiam
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.