2015-02-07 72 views
-1

有沒有一種快速的方法來根據一個表中的約束選擇結果並使用從中獲取的外鍵來選擇父表中的結果?或者你只能用兩個單獨的查詢來做到這一點?使用外鍵時MySQL合併查詢

因此實現了與此相同,但在一個查詢(tableB的有來自tableA的外鍵):

Query1: SELECT * FROM tableB WHERE columnN LIKE x 
Query2: SELECT * FROM tableA WHERE primaryKey LIKE foreignKeyFromQuery1 
+1

你的意思是加入? – 2015-02-07 18:45:18

+0

這爲什麼有一個投票? – Eykar 2015-02-08 13:44:00

回答

0

如果你的意思是連接表,那麼你會做這樣的:

SELECT table1.column_name, … 
FROM table1 
JOIN table2 ON join_condition 

您可以使用語法join table_to_join on join_condition來連接引用一致的表。通常情況下,連接條件類似ON table1.id = table2.id。通過這種方式,數據被合併而不重複行。

0

選擇表格中的列和其他以獲得單一結果意味着JOIN。 您可以使用此:根據您的需要

SELECT <Table>.<Field>, <Table>.<Field> FROM <Table 1> 
INNER JOIN <Table 2> ON <Table 1>.<Primary Key>=<Table 2>.<Foreign Key> 
WHERE <Conditions> 

,它看起來你需要INNER JOIN:

Query1: SELECT * FROM tableB WHERE columnN LIKE x 
Query2: SELECT * FROM tableA WHERE primaryKey LIKE foreignKeyFromQuery1 

的加入將是這樣的:

SELECT * FROM tableB INNER JOIN tableA ON 
tableB.primaryKey=tableA.foreignKeyFromQuery1 WHERE columnN LIKE x