2015-10-14 63 views
-3

我想在一个查询中选择两个表,但它似乎不工作。我曾尝试嵌套查询,但我刚刚SQL_ERROR:如何在1个查询中选择两个表格?

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

客户和组织之间有什么共同点 – Arpita

+0

使用'join'。这就是SQL通常将两个表结合在一起的方式。 –

+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表客户在表组织

0

您应该使用加入等于列ID的将连接行查询加入两个或更多表。您可以访问连接查询的https://dev.mysql.com/doc/refman/5.0/en/join.html

例子:

SELECT t1.name,t2.salary FROM员工为T1 INNER JOIN为T2尽在t1.name = t2.name;