मैं सभी उपयोगकर्ताओं को उनके corropsonding उपयोगकर्ता वर्ग के साथ सूचीबद्ध करना चाहता हूं। यहाँ मेरी टेबलmysql GROUP_CONCAT
CREATE TABLE users (
user_id INT NOT NULL AUTO_INCREMENT,
user_class VARCHAR(100),
PRIMARY KEY (user_id)
);
INSERT INTO users VALUES
(1, '1'),
(2, '2'),
(3, '1,2');
CREATE TABLE classes (
class_id INT NOT NULL AUTO_INCREMENT,
class_name VARCHAR(100),
PRIMARY KEY (class_id)
);
INSERT INTO classes VALUES
(1, 'Class 1'),
(2, 'Class 2');
के सरलीकृत संस्करण हैं और इस क्वेरी बयान मैं उपयोग करने के लिए कोशिश कर रहा हूँ लेकिन केवल पहले उपयोगकर्ता मिलान वर्ग लौटा रहा है और नहीं एक concatenated सूची के रूप में आशा व्यक्त की है।
SELECT user_id, GROUP_CONCAT(DISTINCT class_name SEPARATOR ",") AS class_name
FROM users, classes
WHERE user_class IN (class_id)
GROUP BY user_id;
वास्तविक उत्पादन
+---------+------------+
| user_id | class_name |
+---------+------------+
| 1 | Class 1 |
| 2 | Class 2 |
| 3 | Class 1 |
+---------+------------+
वांटेड आउटपुट
+---------+---------------------+
| user_id | class_name |
+---------+---------------------+
| 1 | Class 1 |
| 2 | Class 2 |
| 3 | Class 1, Class 2 |
+---------+---------------------+
अग्रिम
+1 – WirthLuce