Portál AbcLinuxu, 8. května 2025 07:10
Řešení dotazu:
recepty > id, nazev, popis
recepty_kategorie > id_receptu, id_kategorie (1 recept = N kategorií)
kategorie > id, nazevNacházím se v detailu receptu. A potřebuju vypsat 3 podobné recepty, ze stejných kategorií, jako je vybraný recept. Snad jsem to napsal srozumitelně. Díky!
SELECT recepty.id, recepty.nazev, kategorie.id, kategorie.nazev FROM recepty JOIN recepty_kategorie AS rk ON recepty.id=rk.id_receptu JOIN kategorie ON rk.id_kategorie=kategorie.id
SELECT rk_other.id_receptu FROM recepty JOIN recepty_kategorie AS rk ON recepty.id=rk.id_receptu JOIN recepty_kategorie AS rk_other USING(id_kategorie) WHERE recepty.id = 1 GROUP BY rk_other.id_receptu ORDER BY COUNT(DISTINCT id_kategorie) DESC LIMIT 10
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.