[ Wizard4U @ 19.07.2008. 16:25 ] @
Neznam kako da formiram sljedeći upit! Molio bih sve koji znaju da mi pomognu oko toga jer gledam uokolo primjere i nikako da skužim kako da riješim sljedeću stvar! Ispisat ću samo polja koja su potrebna!

2 tablice su:

spread
category_id | supercategory_id

category
category_id | categor_name | supercategory_id | super_name

OBJAŠNJENJE: Trebam iz tablice category ispisati super_name pa pripadajuće category_name, a iz tablice spread izbrojati koliko ima category_id i supercategory_id (tj. izbrojato oglase kolko ih ima u pojedinoj supercategory i u category)!

Prvi dio je naravno rješen= >
Code:
$rs = db_query("SELECT * FROM category ORDER BY super_name ASC");


Kako da sad izbrojam ono i pridružim ispisu iz prvog dijela! Znam da mora sve to biti u jednom upitu pa bih zamolio majstore sa MYSQL-om da mi pomiognu! Hvala
[ Koce @ 20.07.2008. 09:11 ] @
ne znam dal sam te dobro skonto, mozda ti treba ovo:

Select b.super_name, b.category_name, count(*)
from spread a inner join category b on a.category_id = b.category_id
group by b.super_name, b.category_name
order by 3

?
[ Wizard4U @ 21.07.2008. 15:20 ] @
Nije. Strukturu baze sam gore stavio! Prvi upit je definiran, da ispiše kategorije i superkategorije! A u drugom upitu bi trebalo izbrojati koliko ima kojih categoy_id-a i supercategory_id-a u tablici spread! A budući da određenoj kategorijii superkat. treba pridružiti taj zbroj onda bi to onda trebalo biti definirano u jednom upitu! Molim MYSQL majstore da mi pomognu!

Rezultat bi trebao biti nešto tipa ovog=>

Superkategorija1 (broj superkategorija1 u tablici spread)
Kategorija1 (broj kategorija1 u tablici spread)
Kategorija2 (broj kategorija2 u tablici spread)
Kategorija3 (broj kategorija3 u tablici spread)
Kategorija4 (broj kategorija4 u tablici spread)

I onda isto dalje, za superkategoriju2

[Ovu poruku je menjao Wizard4U dana 21.07.2008. u 18:19 GMT+1]
[ Wizard4U @ 21.07.2008. 17:53 ] @
Evo, mojeg pokušaja:
Code:

$rs2=db_query("SELECT COUNT(category_id) AS broj_cat FROM spread GROUP BY category_id");
while ($reg = mysql_fetch_array($rs2, MYSQL_ASSOC))
{
echo $reg['broj_cat']."</br>";

}

$rs = db_query("SELECT * FROM category ORDER BY super_name ASC");


u prvom upitu izbrojam category_id u tablici spread a s drugim ispišem kat. i superkat.!

Kako da sad taj zbroj pridružim odgovarajućoj kategoriji u donjem upitu, poslije kojeg slijedi ispis superkat. i kategorija?

mislim da nebi išlo, mora biti sve u jednom upitu!
kako?

Ili nitko nezna, ili mi nitko neće pomoči!

[Ovu poruku je menjao Wizard4U dana 21.07.2008. u 20:42 GMT+1]
[ DarkMan @ 21.07.2008. 23:05 ] @
Vidim da ne primecujes da ovo nije forum za MYSQL vec za MSSQL.
Ako sam te dobro razumeo onda trazis sledece:
Code:

SELECT *, 
    (select count(*) from spread where spread.supercategory_id = category.supercategory_id) as TOTAL_SUPER,
    (select count(*) from spread where spread.category_id = category.category_id) as TOTAL_CAT
FROM category 
ORDER BY super_name ASC

Ne znam da li je gore napisan query ispravan za MySQL-u.
[ Wizard4U @ 21.07.2008. 23:24 ] @
Ispričavam se ! Zabunom sam stavio u MS MYSQL! zamolio bih moderatore da premjeste temu u MYSQL forum!
ispravno si napisao @DarkMan!