webForumDet fria alternativet

Join problem

Databaser & SQL

7 svar · 701 visningar · startad av Thompa__85

Medlem sedan aug. 2002600 inlägg
Frågan#1

Hej Wf!

Har problem med en join i ett "Relationssystem".
Jag listar alla "Pelles" vänner:

SQL = "SELECT * FROM friends WHERE (intMember1 = "& intUser &" OR intMember2 = "& intUser &") AND intStatus = 1"
set RS = Connect.Execute(SQL)

Den listar då alla vännerna. Sen besöker "Lina" vännerlistan och ser att "Pelle" är kompis med "Oskar". Och vill då bli vänn med "Oskar" enkelt via en länk.

Problemet är att jag på något sätt måste ta reda på on "Lina" och "Oskar" är vänner eller ej. Och då måste jag använda mig av join?

Tabellen är uppbyggd på så att intMember1 och intMember2 är relationen mellan användarna. Så ska alltså kolla om Linas ID finns tillsammans med Oskars ID.

Problemet för min del är att allt är från samma tabell, så förstår inte hur min join ska se ut?

Någon som förstår mitt problem? :p Svårt att förklara..

Hoppas på svar! =)

mvh Andreas

Medlem sedan dec. 20025 483 inlägg
#2

Vet du vilket id Lina och/eller Oskar har?

Medlem sedan aug. 2002600 inlägg
#3

Peter S skrev:

Vet du vilket id Lina och/eller Oskar har?

Aa, Lina har ett Session("id") och Oskar är en av intMember1/intMember2

Medlem sedan dec. 200012 464 inlägg
#4

Flyttas från ASP

Medlem sedan dec. 20025 483 inlägg
#5
select
    *
from
    friends f,
    member m
where
    f.intStatus = 1 and
    session("id") in (f.intMember1,intMember2) and
    m.userName = 'Oskar' and
    m.id in (f.intMember1,f.intMember2)
Medlem sedan dec. 20025 483 inlägg
#6

Tilläggas skall att sessionsvariabeln bör kontrolleras och typkonverteras innan injicering.

Medlem sedan aug. 2002600 inlägg
#7

Peter S skrev:

select
    *
from
    friends f,
    member m
where
    f.intStatus = 1 and
    session("id") in (f.intMember1,intMember2) and
    m.userName = 'Oskar' and
    m.id in (f.intMember1,f.intMember2)

Vart hade du tänkt att den ska ligga? ersätter den min kod? Isåfall så får jag samma resultat som tidigare.. Eller har jag missuppfattat? Den kanske ska ligga någon annanstans?

mvh Andreas :)

Medlem sedan dec. 20025 483 inlägg
#8

Koden ersätter din, ja. Med denna kod får du bara ut poster med Lina och Oskar.

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