MySQL table 中的多个联接
Multiple joins in MySQL table
如果我有一个 table 引用了赞助商的名称和他们推荐的产品的产品 ID,例如:
--------------------------------
|Name |Product ID 1|Product ID 2|
--------------------------------
|Jon | 1 | 3 |
|Sally| 1 | 2 |
--------------------------------
另一个列出产品的 table:
----------------------------------------
|Product ID |Product Name|Product Price|
----------------------------------------
| 1 | Prod 1 | 25 |
| 2 | Prod 2 | 35 |
| 3 | Prod 3 | 45 |
----------------------------------------
如何将它们连接在一起,以便我拥有赞助商的名称以及他们推荐的每个产品名称和产品价格? INNER JOIN
和 LEFT JOIN
似乎只拉过其中一个产品,但不是所有产品。
加入两次。
SELECT s.name, p1.ProductName AS product_1_name, p1.ProductPrice AS product_1_price, p2.ProductName AS product_2_name, p2.ProductPrice AS product_2_price
FROM sponsers AS s
JOIN products AS p1 ON s.ProductID1 = p1.ProductID
JOIN products AS p2 ON s.ProductID2 = p2.ProductID
如果我有一个 table 引用了赞助商的名称和他们推荐的产品的产品 ID,例如:
--------------------------------
|Name |Product ID 1|Product ID 2|
--------------------------------
|Jon | 1 | 3 |
|Sally| 1 | 2 |
--------------------------------
另一个列出产品的 table:
----------------------------------------
|Product ID |Product Name|Product Price|
----------------------------------------
| 1 | Prod 1 | 25 |
| 2 | Prod 2 | 35 |
| 3 | Prod 3 | 45 |
----------------------------------------
如何将它们连接在一起,以便我拥有赞助商的名称以及他们推荐的每个产品名称和产品价格? INNER JOIN
和 LEFT JOIN
似乎只拉过其中一个产品,但不是所有产品。
加入两次。
SELECT s.name, p1.ProductName AS product_1_name, p1.ProductPrice AS product_1_price, p2.ProductName AS product_2_name, p2.ProductPrice AS product_2_price
FROM sponsers AS s
JOIN products AS p1 ON s.ProductID1 = p1.ProductID
JOIN products AS p2 ON s.ProductID2 = p2.ProductID