我想在一个查询中选择两个表,但它似乎不起作用。我尝试过嵌套选择,但我得到了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]
答案 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;