1
我有一個groups
,users
和users_groups
表。用戶和組之間的關係是多方面的。用戶可以分配到多個組。我想運行一個查詢,獲取user_id1和user_id2之間的COMMON的組列表。用SQL查找公共行
我已經構建了以下查詢,但它似乎崩潰了系統和MySQL服務器(在xampp上),並且該頁面需要永久加載(即不加載)。
這是爲什麼?用戶表中有大約6000個測試用戶,組表中有30個組和70,000個users_groups條目。有沒有更好的方法來構造這個查詢?
$user_id1 = $this->db->escape($user_id1);
$user_id2 = $this->db->escape($user_id2);
$sql = "SELECT $select_string FROM users_groups
INNER JOIN groups ON groups.group_id = users_groups.ug_group_id
WHERE ug_group_id IN (SELECT ug_group_id FROM users_groups WHERE ug_user_id = $user_id2)
AND ug_user_id = $user_id1 LIMIT 10";
$query = $this->db->query($sql);
感謝。我必須將第4行和第5行中的ug_group_id更改爲ug_user_id,並在此之後運行。再次感謝! – emkay
@emkay非常歡迎您... –