webForumDet fria alternativet

sql hjälp NOT EXISTS

3 svar · 363 visningar · startad av mikael_a

mikael_aMedlem sedan mars 2000502 inlägg
#1

Hej,

försöker att skapa ett online/offline funktion till ett community. Dock får jag det inte riktigt att fungera.

sql:en

SELECT * FROM user_friends, active_users
WHERE user_friends.username = '{$this->username}'
AND active_users.username = user_friends.username

visar alla aktiva användare på sidan. Dvs användaren loggar in, och han sparas i active_users, när han loggar ut, eller när hans session dör raderas han ifrån denna tabell, allt detta fungerar... det som jag inte får till är att visa de användare som är offline...

testar jag:

SELECT DISTINCT user.username AS name FROM user, user_friends
WHERE user.username != user_friends.username

så visas användaren både i offline och i online listan...

har testat med NOT EXISTS också men får det inte att fungera för det... någon som har ett förslag? måste gå att lösa med en SQL? annars för jag väll spara alla i en array och jämföra... fast blir det många användare känns detta segt..

lolukokasosMedlem sedan mars 2001196 inlägg
#2

Offline borde väl funka så här:

SELECT * FROM user_friends
WHERE NOT username IN(
SELECT user_friends.username FROM user_friends, active_users 
WHERE user_friends.username = '{$this->username}' 
AND active_users.username = user_friends.username)
LarsGMedlem sedan dec. 200012 465 inlägg
#3
SELECT * FROM user_friends
WHERE NOT exists(
SELECT * from active_users 
WHERE user_friends.username = active_users.username)
mikael_aMedlem sedan mars 2000502 inlägg
#4

tack

Genererad på 375 ms · cache AV · v20260730165559-full.f96bc7eb