Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> SELECT w SELECT'ie
maly_pirat
post 22.02.2010, 20:09:36
Post #1





Grupa: Zarejestrowani
Postów: 215
Pomógł: 0
Dołączył: 13.06.2007

Ostrzeżenie: (0%)
-----


Cześć.

Otóż mam pewien problem, gdyż próbuje napisać mechanizm głosowania pod system newsów.

> Schemat dla newsów jest mało ważny (nic nie dodawałem tam odnośnie głosowania).
> Schemat bazy dla tabeli głosów: id | id_news | userid | typ_glosu | (typ głosu: 1 - OK, 2 - ŹLE)

Teraz mam pewien problem, ponieważ chciałbym zliczyć te głosy na OK i na ŹLE, ale w jaki sposób?
Pomyślałem o SELECT w SELECT (zapytanie w zapytaniu) widziałem parę razy na forum php.pl przykłady, ale sam nigdy tego nie stosowałem i nie jestem pewien czy taka metoda okaże się skuteczna.

W tej chwili zapytanie prezentuje się następująco:
  1. mysql_query("select n.*, c.*, u.*, count(g.type) as allVotes
  2. from news as n
  3. left join kategorie_newsow as c on(n.katid=c.katid)
  4. left join uzytkownicy as u on(n.autornewsa=u.userid)
  5. left join glosy as g on(n.newsid=g.id_news) ");


Może mi ktoś pomóc? W którym miejscu dać "zapytanie w zapytaniu" gdzie warunek WHERE powinien być "WHERE typ_glosu = 1) oraz "WHERE typ_glosu = 2) i to wszystko pod COUNT.

Czy może lepiej będzie przebudować tabele głosów? coś w stylu: id, id_news, glos_tak, glos_nie i najwyżej będzie się wstawiać TRUE : FALSE w przypadku głosów na TAK / NIE.

Jakie macie propozycje?
Go to the top of the page
+Quote Post
Mchl
post 22.02.2010, 22:11:42
Post #2





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

Ostrzeżenie: (0%)
-----


Dołącz tabelę głosy dwa razy, raz do zliczenia głosów na tak, drugi do zliczenia głosów na nie.
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.07.2025 - 06:34