如何加入这些表MYSQL

时间:2017-05-31 20:01:18

标签: mysql select join

如何在这里加入这3个表。

enter image description here

我想获得产品名称。

SELECT order_detail.productid 
FROM order_detail
INNER JOIN orders 
  ON orders.id_order = order_detail.orderid
INNER JOIN products 
 ON orders.id_order=products.id_product

sql查询返回零列..我做错了什么?

1 个答案:

答案 0 :(得分:1)

在您的查询中,您正在加入orders.id_order=products.id_product,但似乎您需要加入order_detail.productid=products.id_product。所以我建议您将查询更改为:

SELECT 
   od.productid,
   p.name_product  -- added name column
FROM order_detail od
INNER JOIN orders o
  ON o.id_order = od.orderid
INNER JOIN products p
 ON od.productid=p.id_product

您会注意到我添加了一些表别名以使代码更简洁。此外,如果您不需要在最终结果中使用orders表,那么您可以放弃加入它:

SELECT 
   od.productid,
   p.name_product
FROM order_detail od
INNER JOIN products p
 ON od.productid=p.id_product