canaille Mitglied
Angemeldet: 29.11.2003 Beiträge: 227
|
Verfasst am: 08.09.2004, 14:36 Titel:
Zwei verschiedene Namen zu einer ID in einer Qry |
|
|
|
|
ich weiss das thema klingt verwirrend aber ich hatte keine idee wie ich es sonst nennen sollte
mein problem:
ich habe eine tabelle 'fux_threads' mit den spalten 'lastposterid' und 'userid'
ich möchte mit einer qry den zugehörigen namen für _beide_ userids aus der tabelle 'fux_users' auslesen
jedoch hab ich keine ahnung wie
gibt es eine möglichkeit 'ON' ein alias zuzuweisen?
beispielsweise so:
ON fux_users.userid=fux_threads.userid AS userid
ON fux_users.userid=fux_threads.lastposterid AS lastposterid
(ich weiss dass dieser code nicht klappt aber er dient auch nur dazu meine gedankengänge zu verdeutlichen)
hier mal die komplette qry:
Code: |
SELECT
fux_threads.threadid,
fux_threads.userid,
fux_threads.topic,
fux_threads.lastposttime,
fux_threads.lastposterid,
fux_threads.views,
fux_threads.posttime,
COUNT(fux_posts.postid) AS posts,
fux_users.username
FROM fux_threads
INNER JOIN fux_users
ON fux_users.userid=fux_threads.lastposterid
INNER JOIN fux_posts
ON fux_posts.threadid=fux_threads.threadid GROUP BY fux_threads.lastposttime DESC
|
|
|
Thomas`tiweb Mitglied
Angemeldet: 03.08.2004 Beiträge: 115 Wohnort: Bruchsal
|
Verfasst am: 12.09.2004, 01:27 Titel:
|
|
|
|
|
also ich hab das jetzt, trotz mehrmaligem lesen, nicht verstanden ... versuch aber mal mein moeglichstes:
du moechtest mit EINEM qry, alle daten des threads auslesen (auch der user (name) welcher den thread eroeffnet hat (userid) und welcher als letztes in dem thread gepostet hat (lastposterid).
wenn ich das so recht verstehe, sollte dir dieser qry helfen:
Code: |
SELECT DISTINCT
fux_threads.threadid,
fux_threads.userid,
fux_threads.topic,
fux_threads.lastposttime,
fux_threads.lastposterid,
fux_threads.views,
fux_threads.posttime,
COUNT(fux_posts.postid) AS posts,
myuser.username,
mylastposter.username
FROM fux_threads
LEFT JOIN fux_users AS myuser
ON fux_users.userid=fux_threads.userid
LEFT JOIN fux_users AS mylastposter
ON fux_users.userid=fux_threads.lastposterid
LEFT JOIN fux_posts
ON fux_posts.threadid=fux_threads.threadid
GROUP BY fux_threads.lastposttime DESC
|
Ich habe mal nen Distinct zugefuegt, weil ich mir nicht sicher bin (zu faul zu ueberlegen), ob das mit den zwei usertables mehrere treffer geben koennt. der qry wird zweimal mit der user-tabelle verknuepft, einmal auf den namen des posters und ein zweites mal auf den namen des letzten posters ... ich hoffe es geht
nebenbei: es bringt nix sehr lange zu probieren und auf fremde hilfe zu hoffen, wenn ein einfacher zweiter qry das ganze problem loest (wodurch der script nur minimalst langsamer wird) |
|