Mailinglisten-Archive |
Guten Morgen Stefan Kraus,
> Ich plage mich mit folgender SQL.
> Ich habe eine Tabelle in der die Knoten eines Tree
> dargestellt sind. Ich rufe alle Datensätz der Tabelle ab
> und will zusätzlich mit der IF - Weisung ermitteln ob der
> Datensatz 'Kinder' hat. Leider komme ich nicht weiter.
>
>
> select id, parent, child, if( (select count(parent) from parent_child
> where child = parent), 'Knoten', 'Blatt' ) as knoten from parent_child
> order by parent
ich würde die SQL-Anweisung nicht mit einer IF-Anweisung aufbauen
sondern die Tabellen mittels join miteinander verknüpfen. Ist auch
nachvollziehbar, da jedem Kind bestimmte Eltern zugeteilt sind.
Die Datenbank kann zudem so aufgebaut werden, dass es eine Tabelle
Parent gibt und eine Tabelle Child. Die Childtabelle braucht dann
lediglich ein zusätzliches Feld Parent-ID. Dann können diese Tabellen
miteinander verknüpft werden, wobei Child.Parent_ID=Parent.ID gilt.
Mit freundlichen Grüßen
Ruprecht Helms
-----------------------------------------------
Ruprecht Helms IT-Service & Softwareentwicklung
allow your worktools be individual
Web: http://www.rheyn.de
php::bar PHP Wiki - Listenarchive