获得正确的产品bij结合3个表(Union或JOIN)的结果

时间:2014-10-15 17:12:41

标签: mysql sql

这是我关于Stack Overflow的第一篇文章,所以我会尽量提供尽可能多的信息。我花了几个小时试图搞清楚,但我看到的所有例子都没有帮助我。

我有3个表,我必须从表3(产品)中检索产品名称,其中表1(订单)的状态为0.这很容易,但在表2(订单)中我只找到{{1}在表2(order_amount)中,我可以看到order_id,我需要获得正确的产品名称。

product_id

我希望有人可以帮助我,因为我发现很难使用table1: orders id date recipient country city street payment_method email status transaction_id options_price table2: order_amount id order_id product_id color_id amount options table3: products id name description price shipment_fee stock conditie JOIN

2 个答案:

答案 0 :(得分:0)

带有order_amount的

LEFT JOIN应该足够好了。

SELECT name FROM Products P
LEFT JOIN order_amount AM
on P.id = AM.product_id
where AM.product_id is NULL

答案 1 :(得分:0)

好的,我找到了这个解决方案

$result = mysql_query   (" SELECT name FROM products P 
                        LEFT JOIN order_amount AM on P.id = AM.product_id 
                        LEFT JOIN orders O on AM.order_id = O.id 
                        WHERE O.status = 0 order by date desc");

(通过雷达来提升我的方向)

但现在我有第二个问题,我有2个while循环

while($ row = mysql_fetch_array($ result)) while($ row3 = mysql_fetch_array($ result3))

这个ofcource不起作用,但你怎么处理这个? 因为结果是在第1行