mysql连接3个表并显示WHERE payment = PENDING的结果

时间:2016-08-11 07:03:04

标签: mysql

我有3张桌子

abd_table
  product_name
  price
  quantity
  total_cost
  session_id
  date

order_detail_table
  order_id
  product_name
  price
  quantity
  total_cost
  session_id
  order_date

order_table
  order_id
  payment_status (PAID,PENDING)
  order_date
  session_id

我想要检索行

1)同一会话中abd_table和order_detail_table中相同的产品详细信息不存在或匹配

2)WHERE nw.payment_status = PENDING

如果我从下面的查询中删除WHERE CONDITION,那么它显示所有行,无论payment_status是否挂起。 如果我在下面的查询中插入WHERE CONDITION,那么它什么都不显示。

$qry="select 
a.cart_id,a.date,a.quantity,a.total_cost,a.user_name,a.product_name,a.session_id,a.price,o.order_id,nw.payment_status,nw.session_id
from abd_table AS a
LEFT JOIN order_detail_table as o on a.session_id=o.session_id
LEFT JOIN order_table as nw on o.session_id = nw.session_id
where nw.payment_status = 'PENDING'";

所以如何检索行

1)同一会话中abd_table和order_detail_table中不存在或匹配相同的产品详细信息。

2)WHERE nw.payment_status = PENDING

维尼特

0 个答案:

没有答案