webForumDet fria alternativet

Få ut id från en tabell som har poster i en annan

Databaser & SQL

3 svar · 251 visningar · startad av GrodanBoll

Medlem sedan sep. 2001788 inlägg
Frågan#1

Hej hej :)

Antagligen en krånglig rubrik men förhoppningsvis klarnar det här.

Jag har en tabell med användare (tblusers), jag har även tabell med bilder (tblimages), dessa bilder är uppladdade av ngn användare.
Jag vill alltså får fram de användare som har laddat upp några bilder. E säkert enkelt med jag har lixom en propp i hjärnan känns det som. :/

SELECT u.userId, u.userFirstname, u.userLastname FROM tblusers u INNER JOIN tblimages i ON u.userId = i.imgUploadedBy WHERE [b]XXX[/b] ORDER BY u.userLastname

XXX antar jag ska ersättas av någe riktigt smart. :)

Jag kan inte använda mig av subfrågor (mySql < 4).

Medlem sedan dec. 19995 874 inlägg
#2

Du borde hela klart kunna göra:

SELECT 
  u.userId, u.userFirstname, u.userLastname 
FROM 
  tblusers u 
  INNER JOIN tblimages i ON u.userId = i.imgUploadedBy 
ORDER BY 
  u.userLastname

Men värt att tänka på då är att om en användare har laddat upp två bilder så kommer han med två gånger. För att undvika detta får du exempelvis köra distinct på userID och joina på den igen och hämta upp och sortera det du vill.

Medlem sedan dec. 200012 464 inlägg
#3
SELECT distinct u.userId, u.userFirstname, u.userLastname 
FROM tblusers u INNER JOIN tblimages i 
ON u.userId = i.imgUploadedBy 
ORDER BY u.userLastname
Medlem sedan sep. 2001788 inlägg
#4

Bugar o tackar både Brimba o LarsG :bire

256 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)