Philipp Hasenfratz: MySQL Abfrage Problem bei der richtigen Ausage

Beitrag lesen

Halihallo Matze

Also das ist meine SQL Abfrage aber mir wird einfach zuviel Ausgegeben?
SELECT content.id, content.content_1, content.titel_1,
menu.link, menu.menu, submenu.link, submenu.submenu FROM
   content, menu, submenu WHERE
   content.id = menu.link OR
   content.id = submenu.link
   ORDER BY titel_1 ASC

Du machst einen Cross-Join zwischen content, menu und submenu. Aus diesem wählst du
Einträge aus, dessen content.id=menu.link oder content.id=submenu.link sind. _Aber_
falls eine Bedinung zutrifft (z.B. content.id=menu.link) hast du vom cross-join noch
immer _alle_ submenu-links dabei. Wenn du jedoch nur die content-Informationen brauchst,
kannst du einen GROUP BY content.id vor ORDER BY einfügen.

BTW: Das Datenkonzept finde ich etwas unklug, es sei denn du kannst auf Ewigkeiten sagen,
dass du nie mehr als eine Hierarchiestufe benötigst... Und wie teilst du die Beziehung
menu->submenu aus?

Viele Grüsse

Philipp

--
RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.