![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 8.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam problem z napisaniem zapytania do bazy MySQL. Mecze sie z tym juz 2 dni i nie widac konca. Mam 2 tabele zawierajace wpisy uzytkownikow: Articles (Id, AuthorId, Votes, Rate) Texts (Id, AuthorId, Votes, Rate) Pole AuthorId to odeslanie do Id z tabeli uzytkownikow. Pola Votes, Rate mam do wyliczania sredniej ocen oddanych na te publikacje obliczam przez zaokraglenie Rate/Votes (przy glosowaniu zwiekszam Votes o 1 i dodaje ocene do Rate). Moj problem polega na tym, ze w jednym zapytaniu chce: - chce pobrac dane z tabeli uzytkownika (Id, Login, etc.) - posortowac uzytkownikow ze wzgledu na srednia dodanych przez nich publikacji (srednia razem z obu tabel) - zbior wynikow ograniczyc tylko do tych uzytkownikow, ktorzy maja co najmniej 5 publikacji (obojetnie z ktorej tabeli) Czyli staram sie wykombinowac cos w stylu:
No i nie dziala i wiele innych kombinacji podobnego kodu tez nie dziala. ORDER BY nie widzi tak jakby tych pobranych pol. Czy ktos moze mi pomoc, ewentualnie podeslac linka do jakiejs publikacji gdzie znajde informacje na temat popelnianego bledu? Z gory dzieki! Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
Cytat Problem leży pewnie w tym, że w klauzuli ORDER BY stosujesz aliasy kolumn, a z tego co się orientuję takie coś nie przejdzie. Jeżeli MySQL ver > 5.0 to nieprawda - aliasy przejdą ....Cytat No i nie dziala i wiele innych kombinacji podobnego kodu tez nie dziala. ORDER BY nie widzi tak jakby tych pobranych pol. Czyli zapytanie działa (wyświetla ci prawidłowe dane) tylko źle posortowane? Czy całe zapytanie jest do niczego (skąd zatem wiesz, że ORDER BY nie działa)? Tak czy inaczej, ja bym spróbował czegoś w rodzaju (piszę z pamięci, więc wybacz ew. potknięcia):
Ten post edytował nevt 19.02.2008, 15:10:24 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 06:40 |