Hallo ich verwende folgende Abfrage um die 10 zuletzt verwendeten Projektnummern heraustzufiltern:
SELECT DISTINCT pid, datum, left(pname,20) as ppname, left(name,10) as nname, pnr
FROM stunden, projektnr, kunden
WHERE uid = $aktuser AND pid = projektnr.id AND kid = kunden.id
ORDER BY datum DESC
LIMIT 10
tabelle stunden
id
pid
uid
stunden
datum
pruef
gebucht
tabelle projektnr
id
pnr
pname
kid
iid
tabelle kunden
id
name
Leider krieg ich doppelte Einträge... aber warum???? *grübel*
Sollte DISTINCT nicht dafür sorgen, dass ich jede pid nur einmal finde?
Wenn ich ein group by pid dazupacke nimmt er nur das Datum, dass er zuerst für eine pid findet und sortiert dafür... deshalb krieg ich 10 falsche Ergebnisse...
Wo liegt mein Fehler?
Ich bastel hier schon ne Stunde dran herum.... *seufz*
THX
SELECT DISTINCT pid, datum, left(pname,20) as ppname, left(name,10) as nname, pnr
FROM stunden, projektnr, kunden
WHERE uid = $aktuser AND pid = projektnr.id AND kid = kunden.id
ORDER BY datum DESC
LIMIT 10
tabelle stunden
id
pid
uid
stunden
datum
pruef
gebucht
tabelle projektnr
id
pnr
pname
kid
iid
tabelle kunden
id
name
Leider krieg ich doppelte Einträge... aber warum???? *grübel*
Sollte DISTINCT nicht dafür sorgen, dass ich jede pid nur einmal finde?
Wenn ich ein group by pid dazupacke nimmt er nur das Datum, dass er zuerst für eine pid findet und sortiert dafür... deshalb krieg ich 10 falsche Ergebnisse...
Wo liegt mein Fehler?
Ich bastel hier schon ne Stunde dran herum.... *seufz*
THX
Kommentar