如何在此表上执行连接或子查询

时间:2016-06-03 11:42:27

标签: mysql

我有这两个表

表1

Users:

id  | name      | function_id
-------------------------------
101 | Jaskaran  | 1,2,3
102 | Sandeep   | 2,4
103 | predeep   | 5,2

表2

function

id  | function
-----------------
1   | PHP
2   | Java
3   | C
4   | Ruby on Rails
5   | Python

如何在这些表上进行连接或子查询并获取用户记录的用户功能。

2 个答案:

答案 0 :(得分:2)

这看起来像设计糟糕的数据库架构。 总是一个坏主意,将对其他表的引用存储为逗号分隔列表。

话虽如此,您可以使用以下查询来获取所需的结果集:

id  | name     | function_id | function_name
----+----------+-------------+---------
101 | Jaskaran | 1,2,3       | PHP,Java,C
102 | Sandeep  | 2,4         | Java,Ruby on Rails
103 | predeep  | 5,2         | Java,Python

<强>输出:

in

答案 1 :(得分:0)

加入语法是。这将有所帮助:

SELECT Users.ID,Users.name,
FROM Users
LEFT JOIN function
ON Users.function_id = Users.id ;