2015-10-14 64 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;