0
User
uid name
Roles
uid role_id
Subscriptions
uid subscriptions_id
好吧,這似乎太容易了,但我們都沒有得到所希望的結果,應該是這樣的:加入在SQL三個表
user roles subscriptions
1 2,3 1,4,5
2 2,4 4,5,6
....
相反,結果是這樣的:
user roles subscriptions
1 2,3 5
2 2,4 6
....
的選擇命令如下:
SELECT User.name,
GROUP_CONCAT(Roles.role_id),
GROUP_CONCAT(Subscriptions.subscriptions_id)
FROM User
LEFT JOIN Roles ON User.uid = Roles.uid
LEFT JOIN Subscriptions ON Users.uid = Subscriptions.uid
順便說一句 - GROUP_CONCAT不是問題。如果我離開了這一點,我還是得到這樣的:
user roles subscriptions
1 2 5
1 3 5
2 2 6
,而不是
user roles subscriptions
1 2 1
1 3 4
1 - 5