Autor Zpráva
pavel1258
Profil *
Tabulky: categorie, articles, category_articles (tabulka pro m:n)
-mám na eshopu výpis produktů jedné konkrétní kategorie, třeba s id=123, a zobrazí se mě třeba 100 produktu v teto kategorii
-chtěl bych ziskat seznam dalších kategorií, které obsahuji stejne produkty jako ta kategorie s id=123, idealne s poctem produktu, ktere maji ty dve kategorie (tedy ta s id=123 a nalezena) spolecne
-v jednom sql dotazu ;)
-jinak kazdy articles má vlastnost active=0/1 potrebuju aby se to vztahovalo jen na produkty s active=1


Prakticke zadani: mam dva typy kategorii, v jedne jsou kategorie, v druhe vyrobci. Navstevnik si zobrazi nejakou kategorii a na vysledne strance bych chtel mit hlasku "v teto kategorii jsou produkty techto vyrobcu:"

moc dekuji za jakekoliv reseni, jestli to lze vubec nejak efektivne vyresit...
tiso
Profil
SELECT c2.name as manufacturer, count(p.id) as products
FROM cat_prod cp
JOIN prod p ON cp.prod_id = p.id AND p.active = 1
JOIN cat_prod cp2 ON p.id = cp2.prod_id AND cp2.cat_id <> cp.cat_id
JOIN cat c2 ON cp2.cat_id = c2.id
WHERE cp.cat_id = 3
GROUP BY c2.id;
prípadne:
SELECT c2.name as manufacturer, count(p.id) as products
FROM cat_prod cp
JOIN prod p ON cp.prod_id = p.id AND p.active = 1
JOIN cat_prod cp2 ON p.id = cp2.prod_id
JOIN cat c2 ON cp2.cat_id = c2.id AND c2.type = 'manufacturer'
WHERE cp.cat_id = 3
GROUP BY c2.id;

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: