如何在1个查询中选择两个表?

时间:2015-10-14 11:32:11

标签: mysql

我想在一个查询中选择两个表,但它似乎不起作用。我尝试过嵌套选择,但我得到了sql_error:

Subquery returns more than 1 row

这是我的问题:

SELECT `client`.`id` as client_id,
(SELECT `org`.`name` FROM `org`) as organization
FROM `client`

查询两个表的更好方法是什么?

这是我的预期结果:

client_id = [1,2,3,4,5]
organization = [x,y,z]

2 个答案:

答案 0 :(得分:0)

这会有效,但它不是你想要的。

SELECT `client`.`id` as client_id, `org`.`name` as organization FROM `org`, `client`

这将为您提供org中所有行与客户端中所有行的交叉积。也许你想要这样的东西:

SELECT `client`.`id` as client_id, `org`.`name` as organization FROM `org` JOIN `client` ON `client`.`memberOf` = `org`.`id`

JOIN 将连接两个表的行,其中表客户端中的列memberOf等于表组织中的列ID

答案 1 :(得分:0)

您应该使用连接查询来连接两个或多个表。你可以访问https://dev.mysql.com/doc/refman/5.0/en/join.html

连接查询的示例:

SELECT t1.name,t2.salary   FROM employee AS t1 INNER JOIN info AS t2 ON t1.name = t2.name;