簡體   English   中英

MYSQL:如何在兩次引用同一張表的同一查詢上聯接兩個表

[英]MYSQL: How to JOIN two tables on the same query referencing the same table twice

我有兩張桌子。 我試圖將下面的兩個示例表與表1結合起來,兩次引用表2。 例如,如果我查看表1:第2組和成員7,則應在表2中查找ID,並提供以下輸出:

Group Members Name   Name
  2      7     Blue   Dog

表格1

Group  Members
 2       7
 3       8
 5       10

表2

 ID     Name
 1      Green
 2      Blue
 3      Yellow
 4      Orange
 5      Red
 6      Elephant
 7      Dog
 8      Cat
 9      Chicken
 10     Mouse

有什么建議嗎? 謝謝

SELECT
  Table_1.*,
  g.Name,
  m.Name
FROM
  Table_1
  INNER JOIN Table_2 AS g ON Table_1.Group=g.ID
  INNER JOIN Table_2 AS m ON Table_1.Group=m.ID
WHERE
  Table_1.Group=2
  AND Table_1.Member=7

與表2在不同的列上連接兩次。

SELECT t1.*, t2.name AS group_name, t3.name AS member_name
FROM Table1 AS t1
JOIN Table2 AS t2 ON t1.group = t2.id
JOIN Table2 AS t3 ON t1.members = t3.id

很難從該描述中准確判斷出您需要什么,但是對表進行別名可能就是您所需要的。 它是這樣的:

SELECT t1.x, t2_1.y, t2_2.z
FROM table1 AS t1
JOIN table2 AS t2_1 ON t1.whatever = t2_1.whatever
JOIN table2 AS t2_2 ON t1.whatever = t2_2.whatever
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM