- Joined
- Feb 2, 2007
- Messages
- 4,344
- Points
- 270
hm, habe es soeben an der datenbank testen können. die "´" bei den jeweiligen spaltennamen mag der parser allerdings nicht
jedenfalls bekomme ich leider folgende fehlermeldung:
allgemienr SQL Fehler:
Token unknown - SELECT - line 19 char 4
hm, ich als halb-noob sehe syntaktisch keine fehler, also klammer zu wenig o.ä.
ebenso sind die bezeichner alle korrekt. lässt dies etwa nur den schluß zu, dass subselects nicht unterstützt werden?
Übrigens: Man kann having nutzen! Sorry, ich hatte es bis dato nur falsch eingesetzt. Falls ihr damit noch Ideen habt....
Aber ich sehe bei Having halt das prob, dass wenn ich mit group by arbeite, ich ja ALLE splaten im SELECT, welche nicht in GROUP BY vorkommen, mit einer Aggregat-Funktion (MAX, MIN etc.) ausstatten muss?! Nur bringt mir das wohl wieder nen falsches Ergebnis
Hier zur Sicherheit nochmal der Code, wie ich ihn eingegeben habe. Wie gesagt sollte er identisch zu deinem sein, außer dass die "´" rauseditiert sind:
jedenfalls bekomme ich leider folgende fehlermeldung:
allgemienr SQL Fehler:
Token unknown - SELECT - line 19 char 4
hm, ich als halb-noob sehe syntaktisch keine fehler, also klammer zu wenig o.ä.
ebenso sind die bezeichner alle korrekt. lässt dies etwa nur den schluß zu, dass subselects nicht unterstützt werden?
Übrigens: Man kann having nutzen! Sorry, ich hatte es bis dato nur falsch eingesetzt. Falls ihr damit noch Ideen habt....
Aber ich sehe bei Having halt das prob, dass wenn ich mit group by arbeite, ich ja ALLE splaten im SELECT, welche nicht in GROUP BY vorkommen, mit einer Aggregat-Funktion (MAX, MIN etc.) ausstatten muss?! Nur bringt mir das wohl wieder nen falsches Ergebnis
Hier zur Sicherheit nochmal der Code, wie ich ihn eingegeben habe. Wie gesagt sollte er identisch zu deinem sein, außer dass die "´" rauseditiert sind:
Code:
SELECT
personal.personalnr,
personal.nachname,
personal.vorname,
personal.kostenst AS KS_Personal,
personal.eintritt1,
personal.persstatus,
auftrag.auftragnr,
auftrag.kostenst AS KS_Auftrag,
auftrag.vonDatum AS vonDatum
FROM
personal
INNER JOIN
einsPers
ON
personal.personalnr = einsPers.personalnr
INNER JOIN
(
SELECT
personal.personalnr,
auftrag.auftragnr,
MAX(auftrag.vonDatum) AS vonDatum
FROM
personal,
einsPers,
auftrag
WHERE
(
personal.persstatus = 2
OR personal.persstatus = 7
)
AND auftrag.auftstatus = 2
AND personal.personalnr = einsPers.personalnr
AND auftrag.auftragnr = einsPers.auftragnr
GROUP BY
personal.personalnr
) AS innerauftrag
ON
innerauftrag.personalnr = einsPers.personalnr
AND innerauftrag.auftragnr = einsPers.auftragnr
INNER JOIN
auftrag
ON
auftrag.vonDatum = innerauftrag.vonDatum
ORDER BY
personal.nachname
ASC