簡體   English   中英

如何執行從不同表返回唯一值的mySQL查詢

[英]How to do an mySQL query that return unique values from different tables

嗨,我有一個大型數據庫,包含100多個表。 我有3個表,分別名為auth_group(id和group_name),auth_permission(id和Permission_name)和auth_group_permission(關聯表b / w這兩個表),由字段id,group_id和Permission_id組成。 auth_group表中有許多組,每個auth_group也可能具有許多權限。 某些組可能具有與其他組相同的權限。 我需要創建一個contains Group and permission, if same permissions are coming for different groups include in both the group rows的excel工作表contains Group and permission, if same permissions are coming for different groups include in both the group rows 我需要創建一個查詢,該查詢返回A list of groups and their corresponding permissions grouped together 像例子:

Managers : can create record
            can delete record
            etc.
 Engineer : create data
             delete data

我已經嘗試了以下查詢,但沒有解決。

select distinct G.name, P.name from auth_group G, auth_permission P, auth_group_permission GP where G.id = GP.group_id AND P.id = GP.permission_id LIKE G.name LIKE 'BIG_RA_%'

有想法嗎? 提前致謝。

您可以嘗試這樣。

SELECT G.name,
   GROUP_CONCAT(P.name)
 FROM  auth_group_permission GP
 INNER JOIN auth_group G ON G.id = GP.group_id
 INNER JOIN auth_permission P ON P.id = GP.permission_id
 WHERE G.name LIKE 'BIG_RA_%'
 GROUP BY G.name

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM