2012-04-10 13 views
6

समस्या में एक आंतरिक शामिल हों समस्या: मेरे पास एक GROUP_CONCAT क्वेरी है जो इरादे से काम कर रही है, सिवाय इसके कि मैं कॉन्सट को एक मिश्रित उत्तर बनाना चाहता हूं, न कि कच्चे आईडी फ़ील्ड।mySQL GROUP_CONCAT कथन

वर्तमान क्वेरी:

SELECT user.user_id, user.user, GROUP_CONCAT(user_roles.roleID separator ', ') roles 
FROM user 
JOIN user_roles ON user.user_ID = user_roles.user_ID 
GROUP BY users.user_ID, users.user 

परिणाम देता है:

+----------+---------+----------------------------+ 
| user_ID | user | roles     | 
+----------+---------+----------------------------+ 
|  1 | Smith | 1, 3     | 
+----------+---------+----------------------------+ 
|  2 | Jones | 1, 2, 3     | 
+----------+---------+----------------------------+ 

वांछित परिणाम:

+----------+---------+----------------------------+ 
| user_ID | user | roles     | 
+----------+---------+----------------------------+ 
|  1 | Smith | Admin, Other   | 
+----------+---------+----------------------------+ 
|  2 | Jones | Admin, Staff, Other  | 
+----------+---------+----------------------------+ 

उपयोगकर्ता तालिका:

+----------+---------+ 
| user_ID | user | 
+----------+---------+ 
|  1 | Smith | 
+----------+---------+ 
|  2 | Jones | 
+----------+---------+ 

* users_roles तालिका: *

+----------+---------+ 
| user_ID | role_ID | 
+----------+---------+ 
|  1 | 1  | 
+----------+---------+ 
|  2 | 1  | 
+----------+---------+ 
|  2 | 2  | 
+----------+---------+ 
|  2 | 3  | 
+----------+---------+ 
|  1 | 3  | 
+----------+---------+ 

भूमिकाओं तालिका:

+----------+-----------+ 
| role_ID | role_name | 
+----------+-----------+ 
|  1 | Admin | 
+----------+-----------+ 
|  2 | Staff | 
+----------+-----------+ 
|  3 | Other | 
+----------+-----------+ 

उत्तर

15

निम्न क्वेरी कोशिश

SELECT user.user_id, user.user, GROUP_CONCAT(roles.role_name separator ', ') roles 
FROM user 
JOIN user_roles ON user.user_ID = user_roles.user_ID 
JOIN roles ON user_roles.role_ID= user_roles.role_ID 
GROUP BY users.user_ID, users.user 
+0

था विक्रम - यह काम करता है – Laurence

संबंधित मुद्दे