Autor Zpráva
hal_sk
Profil
Zdravím.
Mám tabuľku v ktorej sú rôzne údaje, a chcem spraviť dotaz, ktorý z tých údajov takú sumarizáciu/štatistiku. Skúšam to pomocou jedného komplikovaného dotazu, ale vždy s tým mám nejaký problém. Tak som si porobil viacero jednoduchých dotazov, každý vyberá nejaké iné dáta. A teraz by som chcel tie jednoduché selektíky nejako spojiť aby z toho vznikla jedna sumarizujúca tabuľka.
Dúfam, že som to vysvetlil dobre. Ak bude treba, dám sem príklad.
TomášK
Profil
V tom dotazu chybí otazník. Tipuju, že by se ti mohlo hodit:
SELECT ... UNION ...
INSERT INTO ... SELECT
CREATE VIEW ... 
hal_sk
Profil
Skúšal som napríklad ten UNION, ale ten mi spojí dáta zo selectov, pod seba. Ja ich potrebujem vedľa seba.
Skrátka mám SELECT 1, ktorý vyberie z tabuliek toto:
meno
Jano
Palo

A potom SELECT 2, ktorý vyberie z tých istých tabuliek toto:
pocet_bodov
13
11

A potrebujem dostať toto:
meno pocet_bodov
Jano 13
Palo 11

Prosím o radu ako to najefektívnejšie spojiť.
hal_sk
Profil
Tu je konkrétna vec, ktorú riešim. Ide o select, ktorý použijem v dotaze pre php diskusné fórum. Keď sa pozriete napr. na hlavnú stránku tohto JakPsatWeb fóra, tak uvidíte to, čo chcem docieliť: Zoznam fór (názvy), Témata (počty), Příspěvky (počty).
Ja mám 2 tabuľky, "komentare" a "fora", prvú na komentáre s atribútmi:
id_komentar, id_user, je_topic, id_topic, id_forum, predmet, text, datum

A druhú v ktorej sú jednotlivé problematiky, ktoré sa na fóry riešia (na JPW je to: Problémy v začátcích, Názor na stránku, atď):
id_forum, nazov

Chcem získať prehľad, ktorý zobrazí:
Názov fóra, počet tém (je_topic=1), počet komentárov (je_topic=0)

Vytvoril som si teda dotaz, ktorý zgrupuje riadky podľa druhu fóra (id_forum):
SELECT
 fora.nazov,
 COUNT(komentare.id_forum) as pocet_tem,
 COUNT('neco') as pocet_komentarov
FROM
 komentare
LEFT JOIN 
 fora
ON
 komentare.id_forum=fora.id_forum
WHERE
 komentare.je_topic=1
GROUP BY
 komentare.id_forum


No a tento dotaz mi vyberie buď len počty tém pre jednotlivé fóra (to je tento prípad, lebo je tam "WHERE komentare.je_topic=1"), alebo počty komentárov pre jednotlivé fóra, to v prípade, že použiem inú podmienku "WHERE komentare.je_topic=0".
Takže by som prosil vysvetliť, ako to spraviť, aby sa mi vrátili počty tém a počty príspevkov v jednej tabuľke, respektíve, či sa nedá použiť podmienka WHERE, pre každý stĺpec iná.
hal_sk
Profil
OK, už to mám s pomocou vnorených selectov.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: