Autor Zpráva
kimmy
Profil *
Ahoj,

prosím poradil by mi někdo s jedním sql dotazem? Jde o porovnávání produktů v eshopu. Dotaz vypadá takto:

$query = mysql_query("  
SELECT *, 
p.$nazev AS nazev,
p.id AS id,
sp.$nazev AS nazev_polozky,
sh.$nazev AS nazev_hodnoty
FROM ".TBL_PREFIX."produkty p
JOIN ".TBL_PREFIX."produkty_matky m ON p.id_matka=m.id_matka
LEFT JOIN ".TBL_PREFIX."produkty_foto f ON f.id_produkt=p.id AND f.razeni=0
LEFT JOIN ".TBL_PREFIX."sablony_obsah so ON so.id_produkt = p.id 
LEFT JOIN ".TBL_PREFIX."sablony_polozky sp ON sp.id_polozka = so.id_polozka
LEFT JOIN ".TBL_PREFIX."sablony_seznam ss ON ss.id_sablona = sp.id_sablona
LEFT JOIN ".TBL_PREFIX."sablony_hodnoty sh ON sh.id_hodnota = so.id_hodnota
WHERE m.web='".__WEB__."' 
AND p.id IN (".implode(", ", $_SESSION['porovnani']).")
GROUP BY p.id
") or die(err(1));


Problém je v tom, že každý výrobek má více položek pro porovnávání (chuť, barvu, velikost,...). A tento sql dotaz mi vybere pro každý produkt JEN JEDNU položku pro porovnávání, kvůli tomu GROUP BY p.id. Já bych potřebovala ale vybrat všechny položky..

Když dám GROUP BY sp.id_polozka, tak to sice vybere všechny položky, ale zároveň mi to zobrazí třeba třikrát jeden produkt..

Poradíte prosím někdo? Děkuju
Kajman_
Profil *
Nedávejte group by, jen order by p.id a v aplikaci si produkt vypište jen, pokud se změnil. Nebo si můžete z řádků sestavit v php pole produktů, se kterým se Vám bude lépe pracovat.

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:

0