webForumDet fria alternativet

LarsG :), sortera på info länktabell

Databaser & SQL

4 svar · 255 visningar · startad av erka

Medlem sedan dec. 19996 522 inlägg
Frågan#1

Hej!

Alla får svara men jag antar att LarsG sitter inne med svaret som alltid.

Låt oss säga att jag har tre tabeller

TBL_USER
-Pk_UserId (identity)
-UsrName
-UsrPassword

TBL_USERAWARDS
-Pk_AwardId (identity)
-AwardDesc

Tbl_USERAWARDSLINK
-Pk_UserId
-Pk_AwardId

En användare kan ha flera olika awards, de binds samman genom länktabellen "USERAWARDSLINK".

Nu vill jag hämta ut alla fält och användare från TBL_USER och sortera dem efter värdena i Pk_AwardId i länktabellen, så att de användare som har en awardid i länktabellen med Pk_AwardId 1 kommer överst.

Hoppas ni förstår vad jag menar, vet inte om det vart så supersmart uppbyggt, men jag tyckte att en länktabell passade bäst i detta fall med tanke på massa andra aspekter.

Mycket tacksam.

Medlem sedan sep. 20026 425 inlägg
#2
SELECT tbl_users.Pk_Userid,tbl_users.Usrname,tbl_users.UsrPassword ORDER BY tbl_userawardslink.Pk_Awardid DESC
Medlem sedan dec. 19996 522 inlägg
#3

Fungerar tyvärr inte. Kör MSSQL 2000

Medlem sedan dec. 200012 464 inlägg
#4
SELECT Pk_Userid,Usrname,UsrPassword
from tbl_users
ORDER BY case when exists(select * 
from Tbl_USERAWARDSLINK 
where pk_userid = tbl_users.pk_userid) then 0 else 1 end,
(select min(Pk_AwardId ) 
    from Tbl_USERAWARDSLINK 
where pk_userid = tbl_users.pk_userid)
Medlem sedan dec. 19996 522 inlägg
#5

Man tackar, du är fantastisk

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