gpt4 book ai didi

mysql join 也获取未连接的值

转载 作者:行者123 更新时间:2023-11-29 21:34:56 26 4
gpt4 key购买 nike

以下查询基于我的付款表。与每日订单表连接。我的日常表格中有帐单号码列表。通过此查询,我仅获得已付款的账单号码。希望从每日表格中获取账单编号的完整列表,如果未收到付款,则收到的列为空。并按账单编号升序对它们进行排序

create or replace view view_pymts
As SELECT p.`order-id`, p.`order-item-code`,daily.Bill_no,daily.tally_sku,daily.`quantity-purchased` as quantity,daily.`item-price`+daily.`shipping-price`as inv_value,daily.rma_rcvd_amt as return_value, round((SUM(p.amount) + z.other),2) AS received

FROM payments p
INNER JOIN daily ON p.`order-item-code`= daily.`order-item-id`
JOIN (
SELECT `order-id`,
SUM(CASE WHEN `order-item-code` IS NULL
THEN amount
ELSE 0.0 END) / (COUNT(DISTINCT `order-item-code`)) AS other
FROM payments
GROUP BY `order-id`
) z
ON p.`order-id` = z.`order-id`
GROUP BY p.`order-id`, p.`order-item-code`

最佳答案

INNER JOIN 替换为 LEFT JOIN。这将使连接右侧表(连接语句之后的表,而不是之前的表,据说位于连接左侧)中的所有缺失字段NULL

编辑:我没有仔细阅读问题,@minatverma 是正确的。您可以使用RIGHT JOIN 代替INNER JOIN(右联接执行与左联接相反的操作,使左侧表中缺少的字段为空) ,或者切换表的顺序并使用LEFT JOIN

关于mysql join 也获取未连接的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34994769/

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