gpt4 book ai didi

mysql - 三表MySQL LEFT JOIN不返回不涉及一张表的行

转载 作者:行者123 更新时间:2023-11-30 01:29:02 24 4
gpt4 key购买 nike

我有一个 MySQL 数据库,用于存储人们的订单

订单可能包含:

  • 门票(或无门票),
  • pledge_type_id(或无 promise _type_id)

订单可能只有additional_donation金额、无门票 (tickets.order_=order_id) 和无 promise (pledge_type_id)。它应该仍然显示...

问题:

但是,没有门票的订单(具有 pledge_type_idpledge_type_id=0 和additional_donation=[某个数字])是< em>不显示。

如何修改此查询以返回这些行?

谢谢!

SELECT 
o.order_id, o.name_f, o.name_l, o.email,
COUNT( * ) AS num_tix,
h.name_f, h.name_l,
o.additional_donation,
p.title, p.price,
o.donation_monthly_YN,
o.process_step,
o.paid_status_YNVRD

FROM orders o
LEFT JOIN tickets t ON t.order_id = o.order_id
LEFT JOIN HOSTS h ON h.host_id = o.host_id
LEFT JOIN pledge_types p ON p.pledge_type_id = o.pledge_type_id

WHERE o.gala_id = '1'
GROUP BY o.order_id
ORDER BY o.deleted_YN ASC , datetime_created DESC

这是一个 fiddle :sqlfiddle.com/#!2/1ea71/1

(它不允许我上传数据(太大),所以这是 db+data 的 sql: http://cypgala.com/developer_notes/cypgala_experimental_db.sql (我用假名替换了真实姓名/电子邮件))

最佳答案

您可能在这些表(主机或 promise 类型)之一中没有该订单的相应元组。在这些表上尝试 RIGHT JOIN。

关于mysql - 三表MySQL LEFT JOIN不返回不涉及一张表的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17679041/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com