【发布时间】:2016-05-04 06:51:57
【问题描述】:
连接两个表 MySQL 查询返回所有用户列表值。 请更正此查询或提供一些查询。
表 1:用户
+---------+------------+-----------+
| user_id | user_name | cource_id |
+---------+------------+-----------+
| 1 | ramalingam | 1,2,3,4 |
| 2 | yuvi | 1 |
| 3 | Saravanan | 1,2,3 |
| 4 | gandhi | 1 |
+---------+------------+-----------+
表2:课程
+-----------+-------------+
| cource_id | cource_name |
+-----------+-------------+
| 1 | php |
| 2 | wordpress |
| 3 | seo |
| 4 | magento |
+-----------+-------------+
输出
--------------------------------------
user_id | user_name | cource_id
--------------------------------------
1 | ramalingam| php,wordpress,seo,magnto
2 | yuvi | php
3 | Saravanan | php,wordpress,seo
4 | gandhi | php
这是我的查询
SELECT u.user_id,u.user_name, GROUP_CONCAT(c.cource_name)as course_name
FROM users as u
LEFT JOIN course as c ON c.cource_id = u.user_id
感谢您在这方面提供的任何帮助...
【问题讨论】:
-
那是一个糟糕的数据库设计,你不应该存储逗号分隔的数据。您需要对其进行规范化。这是我在相同情况下的答案之一,以及如何进行标准化并获得所需的结果stackoverflow.com/questions/30071597/…
-
这里还有一个和你类似的stackoverflow.com/questions/29891522/…
-
department表在哪里,它的用途是什么?这个表应该是查询的一部分吗?
标签: mysql