SELECT `groups`.`name`, `groups`.`id`
FROM `groups`
JOIN `group_members`
ON (`group_members`.`user_id` = `groups`.`user_id`)
WHERE `groups`.`user_id` = '33'
ORDER BY `groups`.`id`
我需要爲他所屬的每個組獲取組的ID和組名。但結果不能重複!SQL連接的重複結果
我的查詢返回了很多重複的條目。
groups
存儲所有存在的組(name
,description
等)。在group_members
中存儲了屬於某個組的所有用戶(user_id
,group_id
等)。
如何修改此查詢以獲得不重複但正確的結果?感謝您的建議!
編輯:
在groups
沒有user_id
。該組的所有成員都存儲在group_members
表中。我需要獲得用戶所在的所有組(組的ID和名稱)。
爲什麼組有一個user_id?它是主人嗎? – Jacob
@cularis:它不是代表組的GROUP表,它是GROUP_MEMBERS表,代表了mamber和group之間的連接... –
@Daniel這就是爲什麼它不合邏輯地加入groups.user_id? – Jacob