将表1的总数量减去表2(Subtracting the total quantity of table 1 to table 2)

编程入门 行业动态 更新时间:2024-10-28 11:31:39
将表1的总数量减去表2(Subtracting the total quantity of table 1 to table 2)

伙计们通过按其CONTAINER_TYPE和CUSTOMER_NAME分组的TOTAL_QUANTITY减去两个表( Deliveries和Returns )时TOTAL_QUANTITY此问题,如果我减去例如5 - 0 ,则此示例查询返回Customer_Balance列,但如果我减去5 -1它返回4 。

select TOTAL_DELIVERY.CUSTOMER_NAME, TOTAL_DELIVERY.CONTAINER_TYPE, coalesce(TOTAL_DELIVERY.TOTAL_QUANTITY, 0) as TOTAL_DELIVERY, coalesce(TOTAL_PULLOUT.TOTAL_QUANTITY, 0) as TOTAL_PULLOUT, coalesce((TOTAL_DELIVERY.TOTAL_QUANTITY - TOTAL_PULLOUT.TOTAL_QUANTITY), 0) as CUSTOMER_BALANCE from TOTAL_DELIVERY left join TOTAL_PULLOUT on TOTAL_DELIVERY.CUSTOMER_NAME = TOTAL_PULLOUT.CUSTOMER_NAME and TOTAL_DELIVERY.CONTAINER_TYPE = TOTAL_PULLOUT.CONTAINER_TYPE Deliveries Table (View) ================ ---------------------------------------------- CUSTOMER_NAME| CONTAINER_TYPE | TOTAL_QUANTITY -------------+----------------+--------------- Bryan | Slim | 5 -------------+----------------+--------------- Bryan | Jug | 5 -------------+----------------+--------------- Returns Table (View) ============= CUSTOMER_NAME| CONTAINER_TYPE| TOTAL_QUANTITY -------------+---------------+--------------- Bryan | Slim | 5 -------------+---------------+--------------- Expected output =============== Customer | Container | Total_Delivery | Total_Return | Customer_Balance | ---------+-----------+----------------+--------------+------------------ Bryan | Slim | 5 | 5 | 0 | ---------+-----------+----------------+--------------+------------------ Bryan | Jug | 5 | 0 | 5 | ---------+-----------+----------------+--------------------------------- My INCORRECT Result output (incorrect result at the bottom right cell) ========= Customer | Container | Total_Delivery | Total_Return | Customer_Balance | ---------+-----------+----------------+--------------+------------------ Bryan | Slim | 5 | 5 | 0 | ---------+-----------+----------------+--------------+------------------ Bryan | Jug | 5 | 0 | 0 | ---------+-----------+----------------+---------------------------------

你能告诉我我做错了什么吗? 谢谢!

Guys i have this problem on subtracting the the two tables (Deliveries and Returns) by its TOTAL_QUANTITY grouped by their CONTAINER_TYPE and CUSTOMER_NAME, this sample query returns the column Customer_Balance of 0 if I subtracted for example 5 - 0, but if i subtracted 5 -1 it returns 4.

select TOTAL_DELIVERY.CUSTOMER_NAME, TOTAL_DELIVERY.CONTAINER_TYPE, coalesce(TOTAL_DELIVERY.TOTAL_QUANTITY, 0) as TOTAL_DELIVERY, coalesce(TOTAL_PULLOUT.TOTAL_QUANTITY, 0) as TOTAL_PULLOUT, coalesce((TOTAL_DELIVERY.TOTAL_QUANTITY - TOTAL_PULLOUT.TOTAL_QUANTITY), 0) as CUSTOMER_BALANCE from TOTAL_DELIVERY left join TOTAL_PULLOUT on TOTAL_DELIVERY.CUSTOMER_NAME = TOTAL_PULLOUT.CUSTOMER_NAME and TOTAL_DELIVERY.CONTAINER_TYPE = TOTAL_PULLOUT.CONTAINER_TYPE Deliveries Table (View) ================ ---------------------------------------------- CUSTOMER_NAME| CONTAINER_TYPE | TOTAL_QUANTITY -------------+----------------+--------------- Bryan | Slim | 5 -------------+----------------+--------------- Bryan | Jug | 5 -------------+----------------+--------------- Returns Table (View) ============= CUSTOMER_NAME| CONTAINER_TYPE| TOTAL_QUANTITY -------------+---------------+--------------- Bryan | Slim | 5 -------------+---------------+--------------- Expected output =============== Customer | Container | Total_Delivery | Total_Return | Customer_Balance | ---------+-----------+----------------+--------------+------------------ Bryan | Slim | 5 | 5 | 0 | ---------+-----------+----------------+--------------+------------------ Bryan | Jug | 5 | 0 | 5 | ---------+-----------+----------------+--------------------------------- My INCORRECT Result output (incorrect result at the bottom right cell) ========= Customer | Container | Total_Delivery | Total_Return | Customer_Balance | ---------+-----------+----------------+--------------+------------------ Bryan | Slim | 5 | 5 | 0 | ---------+-----------+----------------+--------------+------------------ Bryan | Jug | 5 | 0 | 0 | ---------+-----------+----------------+---------------------------------

can you please tell me what am i doing wrong? thank you!

最满意答案

(TOTAL_DELIVERY.TOTAL_QUANTITY - TOTAL_PULLOUT.TOTAL_QUANTITY)

一定是

(coalesce(TOTAL_DELIVERY.TOTAL_QUANTITY,0) - coalesce(TOTAL_PULLOUT.TOTAL_QUANTITY, 0))

(TOTAL_DELIVERY.TOTAL_QUANTITY - TOTAL_PULLOUT.TOTAL_QUANTITY)

must be

(coalesce(TOTAL_DELIVERY.TOTAL_QUANTITY,0) - coalesce(TOTAL_PULLOUT.TOTAL_QUANTITY, 0))

更多推荐

本文发布于:2023-04-29 07:38:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1335998.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数量   Subtracting   total   quantity   table

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!