【发布时间】:2015-02-13 16:52:04
【问题描述】:
我有两个如下所示的表格
表一
ID username
1 johndoe
2 mikeb
表2
ID user_id meta_key meta_value
23 1 my_pin 12345
24 2 my_pin 67890
我正在尝试编写一个将返回的 mySQL 查询
ID username my_pin
1 johndoe 12345
2 mikeb 67890
我的方法是使用子查询,但它不起作用。
SELECT
ID,
(SELECT meta_value
FROM table1
WHERE meta_key = "my_pin"
AND table1.ID = table2.user_id) as my_pin
FROM
table1
INNER JOIN
table2 ON table1.ID = table2.user_id
这会失败,因为子查询返回多行。谁能指出我正确的方向?
编辑:附加信息
为了简化我的问题,我遗漏了一些细节(抱歉)。 表2有多个条目
表2
ID user_id meta_key meta_value
23 1 my_pin 12345
24 2 my_pin 67890
25 1 my_id 10011
26 2 my_id 10012
我需要查询返回
ID username my_pin my_id
1 johndoe 12345 10011
2 mikeb 67890 10012
如果我使用“简单”连接,那么 WHERE 子句应该是什么样子?
【问题讨论】:
-
您只需要定期加入即可。
-
这是最基本的 JOIN 之一,不是复杂的查询。
标签: mysql subquery inner-join