webForumDet fria alternativet

Sökning i flera tabeller

1 svar · 161 visningar · startad av S@rpp@

S@rpp@Medlem sedan okt. 200058 inlägg
#1

Jag har 3 tabeller:

[b]grupp:[/b]
gr_id (räknare)
gr_name (text)

[b]anvandare:[/b]
anv_id (räknare)
anv_name(text)

[b]gr_anv[/b]:
gr_id
anv_id

I gr_anv håller man reda på vilken grupp en viss användare tillhör..

Nu till mitt problem:

Jag vill kunna plocka ut vilka grupper en viss användare tillhör samt vilka grupper han inte tillhör.

Har gjort detta i asp mot MSSql men jag får det inte att fungera med PHP mot MySql.

Vad jag har förstått kan man inte skriva följande sqlsats för att hämta ut vilka grupper användaren tillhör:

$query = mysql_query("SELECT gr_id, gr_name FROM grupp WHERE gr_id IN(SELECT gr_id from gr_anv WHERE anv_id=$user")"

samt denna kod för att hämta ut vilka grupper användaren inte tillhör:

$query = mysql_query("SELECT gr_id, gr_name FROM grupp WHERE gr_id NOT IN(SELECT gr_id from gr_anv WHERE anv_id=$user)"

Hur ska det se ut?

LarsGMedlem sedan dec. 200012 464 inlägg
#2
$query = mysql_query("SELECT distinct grupp.gr_id, gr_name FROM grupp inner join gr_anv on grupp.gr_id = gr_anv.gr_id WHERE anv_id=$user");
$query = mysql_query("SELECT distinct grupp.gr_id, gr_name FROM grupp left join gr_anv on grupp.gr_id = gr_anv.gr_id and anv_id=$user where gr_anv.gr_id is null");

------------------
essentitia preter non sans multiplicandum

129 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)