Varför visas man två gånger här om man skulle finnas med i tabellen "user_groups"?
SELECT distinct um_id,um_forname, [red]ug_umid[/red]
FROM user_members LEFT JOIN site_groups, user_groups ON ug_umid=um_id and sg_gid = ug_sgid
WHERE um_uid=12123 and sg_admingroup=1
Jag förstår inte varför Mysql godkänner den frågan. Dels så kan du inte ha join utan on/using direkt efter den högra tabellen och dels kan man inte blanda explicita och implicita join på det där sättet.
Beskriv tabellerna och ge exempel på data samt förväntat resultat.
Oops, nu fick jag bassning. ;)
Jag vill hämta alla medlemmar ifrån tabellen user_members och skriva ut ug_umid om den existerar i tabellen user_groups som har värdet 1 i tabellen site_groups. ...ehhh knappt jag hajjar.
Och resultatet skall bli:
1 | Kalle | 1
2 | Olle | null
3 | Göran | null
Alltså; lista alla användare, finns personen i tabellen user_groups och att den motsvarande gruppen har värdet 1 i kolumnen sg_admingroup i tabellen site_groups, så skall hans eget id, skrivas ut (1 i detta fall) i annat fall så skall null returneras.
Lite svårt att beskriva men jag gjorde så gott jag kunde... :)
SELECT distinct um_id, um_forname, ug_umid
FROM user_members LEFT JOIN user_groups ON um_id = ug_umid
LEFT JOIN site_groups ON sg_gid = ug_sgid and sg_admingroup=1
WHERE um_uid=12123
/red tydligen inte eftersom att Hasse kommer upp fast han inte är med i en admingrupp...