Mam zapytanie działa tylko jest pewien problem,
mianowicie zapytanie działało dobrze jeśli była w nim tylko pierwsza suma i
nie pobierałem danych z tabeli uczen po dodaniu drugiej sumy i dodaniu uczen
pierwszą suma jest za duża jakby pomnożona przez 101(tyle jest rekordów w tabeli uczeń) natomiast druga jest dobra.
Mógłbym pierwszą sumę dzielić przez 101 ale jak zwiększę ilość rekordów w tabeli uczen
to będę musiał dzielić przez większą liczbę.
Może macie jakiś pomysł na modyfikację zapytania bez rozbijania zapytania na dwa?
SELECT d.faq_cat_name AS K,
SUM(IF((d.faq_cat_name = m.news_d1) OR(d.faq_cat_name = m.news_d2),1,0)) AS M,
SUM(IF(d.faq_cat_name = uc.uczen_1 AND m.news_subject = uc.uczen_d AND
(m.news_d1 = uc.uczen_1 OR m.news_d2 = uc.uczen_1),1,0)) AS BZ,
FROM pol_faq_cats d, pol_new m, uczen uc
WHERE d.faq_cat_sezon = 2009 AND m.news_sezon = 2009 AND m.news_w<>9
AND uc.uczen_sezon = 2009
GROUP BY d.faq_cat_name
ORDER BY BZ DESC, M ASC
PW od moderatora:
- Zmiana nazwy tematu - Pieka 02.10 - 21:09
- Przeniesienie tematu - Pieka 02.10 - 21:09
Edytowane przez VjBro dnia 03.10.2009 10:12:48
|