2
我有三個表需要連接一個子查詢的結果SELECT語句
Table1: Users
Columns: User_ID (int), FirstName, LastName....
Values
1 Jane Doe
2 John Doe
3 Mike Smith
Table2: User_Groups
Columns: User_ID (int), Group_ID(int)
Values:
Row1: 1 2
Row2: 1 3
Row3: 2 1
Row4: 2 3
Row5: 3 1
Table3: Groups
Columns: Group_ID (int), GroupName(varchar)
Values
Row1: 1 Admin
Row2: 2 Power User
Row3: 3 Developer
我想創建一個查詢,可以通過以下方式返回結果: **結果
UserID GroupNames
Row1: 1 Power User, Developer
Row2: 2 Admin, Developer
Row3: 3 Admin
在SQL Server - 我能夠使用這樣的事情來實現它:
SELECT User_ID,
SUBSTRING(
replace(
replace(
(SELECT Groups.GroupName
FROM User_Groups, Groups
where groups.Group_ID =
User_Groups.Group_ID AND
User_Groups.User_ID =Users.User_ID
FOR XML PATH(''))
,'<GROUPNAME>',', ')
,'</GROUPNAME>',''),3,2000) as UserGroups
FROM User_Groups LEFT JOIN Groups ON
User_Groups.Group_ID=Groups.Group_ID
ORDER BY User_ID ASC
我希望在MySQL中獲得類似的最終結果(嘗試過GROUP_CONCAT等),但不成功。我怎樣才能在MySQL中獲得類似的** RESULT。請注意表格已經存在,我不能改變它們。 任何幫助,將不勝感激