Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL] Podzapytanie czemu jest błąd ?
Forum PHP.pl > Forum > Przedszkole
szczabik
Witam mam takie podzapytanie i nie mam pojęcia czemu wyświetla błąd może mi ktoś pomóc zlokalizować błąd
  1. ("
  2. SELECT n.*,
  3. (SELECT ROUND(AVG(rating_vote), 2) AS ratcount FROM ratings r WHERE r.rating_type='N' AND (r.rating_item_id = n.news_id))
  4. FROM news
  5. ");
wookieb
  1. SELECT n.*,
  2. (SELECT ROUND(AVG(rating_vote), 2) AS ratcount FROM ratings r WHERE r.rating_type='N' AND (r.rating_item_id = n.news_id))
  3. FROM news n


Jeżeli nie zadziała to podaj treścć błedu
Black-Berry
Czytałem kiedyś ze podzapytania nie działają w każdej wersji MySQL'a. Działają Ci jakieś inne? prostsze?
szczabik
Cytat(szczabik @ 24.08.2008, 10:27:21 ) *
Witam mam takie podzapytanie i nie mam pojęcia czemu wyświetla błąd może mi ktoś pomóc zlokalizować błąd
  1. ("
  2. SELECT n.*,
  3. (SELECT ROUND(AVG(rating_vote), 2) AS ratcount FROM ratings r WHERE r.rating_type='N' AND (r.rating_item_id = n.news_id))
  4. FROM news
  5. ");



Próbowałem tak już wcześniej i też jest błąd



Wywala taki błąd
Kod
Something is wrong in your syntax obok 'SELECT ROUND(AVG(rating_vote), 2) AS ratcount FROM ratings r WHE' w linii 2
wookieb
  1. SELECT n.*,
  2. (SELECT ROUND(AVG(r.rating_vote), 2) AS ratcount FROM ratings AS r WHERE r.rating_type='N' AND (r.rating_item_id = n.news_id))
  3. FROM news AS n

I jaka wersja mysql? Mi to zapytanie działa
szczabik
No niby działa ale coś jest nie tak jak chce wyświetlić średnią przez
  1. <?php
  2. echo "".$r['ratcount']."<br>";
  3. ?>

to nic nie wyświetla
wookieb
  1. SELECT n.*,
  2. (SELECT ROUND(AVG(r.rating_vote), 2) AS ratcount FROM ratings AS r WHERE r.rating_type='N' AND (r.rating_item_id = n.news_id)) AS ratcount
  3. FROM news AS n


Teraz możesz wyświelić w twój sposób.
szczabik
Dzięki działa ale mam jeszcze jeden mały problem bo chce teraz wyświetlić liczbę głosów zrobiłem tak
  1. ("SELECT n.*,
  2. (SELECT ROUND(AVG(r.rating_vote), 2) AS ratcount FROM ratings as r WHERE r.rating_type='N' AND (r.rating_item_id = n.news_id)) as ratcount
  3. (SELECT COUNT(l.rating_id) AS ile FROM ratings as l WHERE l.rating_type='N' AND (l.rating_item_id = n.news_id)) as ile
  4. FROM news as n");

i jest błąd wie ktoś czemu ?
luck
Byłoby łatwiej, jakbyś wkleił komunikat o błędzie. Może brak przecinka po "(r.rating_item_id = n.news_id)) as ratcount"?
wookieb
  1. SELECT n.*,
  2. (SELECT ROUND(AVG(r.rating_vote), 2) AS ratcount FROM ratings AS r WHERE r.rating_type='N' AND (r.rating_item_id = n.news_id)) AS ratcount,
  3. (SELECT COUNT(l.rating_id) AS ile FROM ratings AS l WHERE l.rating_type='N' AND (l.rating_item_id = n.news_id)) AS ile
  4. FROM news AS n

// kolega pisal w tym samym momencie...
szczabik
Cytat(wookieb @ 24.08.2008, 11:40:00 ) *
  1. SELECT n.*,
  2. (SELECT ROUND(AVG(r.rating_vote), 2) AS ratcount FROM ratings AS r WHERE r.rating_type='N' AND (r.rating_item_id = n.news_id)) AS ratcount,
  3. (SELECT COUNT(l.rating_id) AS ile FROM ratings AS l WHERE l.rating_type='N' AND (l.rating_item_id = n.news_id)) AS ile
  4. FROM news AS n

// kolega pisal w tym samym momencie...



Dzięki działa a możesz mi powiedzieć gdzie zrobiłem błąd ?
luck
Cytat(szczabik @ 24.08.2008, 11:44:18 ) *
Dzięki działa a możesz mi powiedzieć gdzie zrobiłem błąd ?

Przypomina mi to zabawę w "gdzie jest Wally" smile.gif Zapomniałeś o przecinku.
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.