Portál AbcLinuxu, 24. listopadu 2025 03:20
Ř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.