Hallo, liebe Forengemeinde.
Ich steh mal wieder vor einem Problem, und zwar hab ich eine Access - Tabelle welche in Delphi mittels ADO in einem Tree angezeigt wird mit folgendem Aufbau:
ID | PARENTID | PROJECTID | BEZEICHNUNG
1 |0| 19| EG
2 |1| 19| Achse A-D
3 |1| 19| Achse E-G
4 |0|19| 1. OG
5 |4| 19| Achse A-D
6 |4| 19| Achse E-G
usw.
Und wird demnach als Tree anhand PARENTID so angezeigt wird:
EG
- Achse A-D
- Achse E-G
1.OG
- Achse A-D
- Achse E-G
In einer weiteren Tabelle habe ich jeweils ein Aufmaßblatt mit folgendem Aufbau:
ID | PROJECTID | GRUPPE | BEZEICHNUNG | ABMESSUNGEN
1 |19 | 2 | Wand 1 | 3,45 * 3,36
2 |19| 3 | Wand 2| 7,31 * 3,36
3 |19| 6 | Wand 1 | 2,25 * 1,25
usw.
Nun zu meinem eigentlichen Problem , ich zeige nun mit folgendem SQL-Code die Gruppen an
zu denen noch kein Eintrag in der Aufmaßblatttabelle vorhanden ist.
Störend ist nur, sollte schon zu allen Kindeinträgen (PARENTID <> 0) bsp. im EG , Einträge im Aufmaßblatt vorhanden
sein, so wird dennoch der Elterneintrag (PARENTID = 0) als EG im Tree angezeigt.
Wie bekomme ich es hin, das halt nur Elterneinträge angezeigt werden wo auch Kindereinträge vorhanden sind.
SELECT Gruppen.ID,
Gruppen.PARENTID,
Gruppen.ProjektID,
Gruppen.Bezeichnung FROM Gruppen
LEFT JOIN (SELECT DISTINCT Aufmasse.ProjektID,
Aufmasse.Gruppe FROM Aufmasse
WHERE Aufmasse.ProjektID = 19) AS GrAbfrage
ON Gruppen.ID = GrAbfrage.Gruppe
WHERE GrAbfrage.Gruppe IS NULL
AND Gruppen.ProjektID = 19
Vielen Dank schonmal für Eure Hilfestellungen und ein frohes Weihnachtsfest.
Ich steh mal wieder vor einem Problem, und zwar hab ich eine Access - Tabelle welche in Delphi mittels ADO in einem Tree angezeigt wird mit folgendem Aufbau:
ID | PARENTID | PROJECTID | BEZEICHNUNG
1 |0| 19| EG
2 |1| 19| Achse A-D
3 |1| 19| Achse E-G
4 |0|19| 1. OG
5 |4| 19| Achse A-D
6 |4| 19| Achse E-G
usw.
Und wird demnach als Tree anhand PARENTID so angezeigt wird:
EG
- Achse A-D
- Achse E-G
1.OG
- Achse A-D
- Achse E-G
In einer weiteren Tabelle habe ich jeweils ein Aufmaßblatt mit folgendem Aufbau:
ID | PROJECTID | GRUPPE | BEZEICHNUNG | ABMESSUNGEN
1 |19 | 2 | Wand 1 | 3,45 * 3,36
2 |19| 3 | Wand 2| 7,31 * 3,36
3 |19| 6 | Wand 1 | 2,25 * 1,25
usw.
Nun zu meinem eigentlichen Problem , ich zeige nun mit folgendem SQL-Code die Gruppen an
zu denen noch kein Eintrag in der Aufmaßblatttabelle vorhanden ist.
Störend ist nur, sollte schon zu allen Kindeinträgen (PARENTID <> 0) bsp. im EG , Einträge im Aufmaßblatt vorhanden
sein, so wird dennoch der Elterneintrag (PARENTID = 0) als EG im Tree angezeigt.
Wie bekomme ich es hin, das halt nur Elterneinträge angezeigt werden wo auch Kindereinträge vorhanden sind.
SELECT Gruppen.ID,
Gruppen.PARENTID,
Gruppen.ProjektID,
Gruppen.Bezeichnung FROM Gruppen
LEFT JOIN (SELECT DISTINCT Aufmasse.ProjektID,
Aufmasse.Gruppe FROM Aufmasse
WHERE Aufmasse.ProjektID = 19) AS GrAbfrage
ON Gruppen.ID = GrAbfrage.Gruppe
WHERE GrAbfrage.Gruppe IS NULL
AND Gruppen.ProjektID = 19
Vielen Dank schonmal für Eure Hilfestellungen und ein frohes Weihnachtsfest.