Hallo
Habe folgendes Problem:
In meinem CMS habe ich Hauptkataloge und Unterkataloge;
Die Titel diese Kataloge werden in der Tabelle "katalog" gespeichert.
In dieser Tabelle habe ich das Attribut katalog_id, das jeder Datensatz automatisch zugewiesen bekommt sowohl Hauptkataloge als auch Unterkataloge;
Zusätzlich habe ich noch ein Attribut katalog_katalog_id, das bei den Unterkatalogen die katalog_id des jeweiligen Hauptkatalogs enthält (zur eindeutigen Zuordnung der Unterkataloge zu den Hauptkatalogen),
Bei den Hauptkatalogen ist diese Attribut =0;
Ich möchte in meiner Navigation alle Hauptkataloge angezeigt bekommen - und beim klicken auf die Hauptkataloge, die Unterkataloge enthalten möchte ich dass diese eingerückt angezeigt werden.
Jetzt bin ich auf der Suche nach der passenden SQL-Abfrage mit der ich die Unterkategorien in Abhängigkeit von der Hauptkategorie selektieren kann.
Dies habe ich schon probiert:
SELECT * FROM katalog whére katalog_id = katalog_katalog_id ;
Dies funktioniert nicht da er jeden Datensatz einzeln durchforstet;
Gibt es in SQL einen Befehl, der von jedem Datensatz das Attribut katalog_id durchforstet und sie mit der katalog_katalog_id eines jeden Datensatzes vergleicht?
Das ganze habe ich schon mit einer INNER JOIN Abfrage versucht (SELECT * FROM katalog INNER JOIN katalog ON katalog.katalog_id = katalog.katalog_id WHERE ...) Das funkt auch nicht da ich zweimal die gleiche Tabelle vergleiche;
Könnt Ihr mir da helfen?
SQL-Query
- Quakerjack
- Mitglied
- Beiträge: 21
- Registriert: 03.04.2003 13:19
- Kontaktdaten:
LIKE ist ein Wildcard-Vergleich. http://www.mysql.com/doc/en/String_comp ... tions.htmlQuakerjack hat geschrieben:das LIKE steht in mysql fuer den direkten vergleich.
Zur Frage: entweder
Code: Alles auswählen
SELECT hk.*, uk.*
FROM katalog hk, katalog uk
WHERE uk.katalog_katalog_id = hk.katalog_id
Code: Alles auswählen
SELECT hk.name AS hauptkatalog_name, hk.irgendwas AS hauptkatalog_irgendwas, uk.name AS unterkatalog_name