繁体   English   中英

带有计算字段的 SQL 连接表

[英]SQL Join table with calculated fields

我想向此查询添加另一列以显示需要处理的延期交货。

目前,该表显示了所有具有未完成项目的订单以及每个库存参考的库存数量。

我想为建议的发票金额添加一个字段。 即如果订单数量是 5 ,发票数量是 2 并且库存数量是 2 则建议交付 2。

如果库存量为 100,则建议交付 3。

我目前的尝试如下,但我无法弄清楚如何做最后一点。

我知道我需要做 (qtyOrdered-qtyinvoiced),但实际上撞到了砖墙。

SELECT 
    c.cus_name,
    ol.orderLines_stockRef,
    ol.orderLines_qtyOrdered,
    ol.orderlines_qtyInvoiced,
    pr.products_instock
FROM
    cus c
        JOIN
    orderheader oh ON oh.orderHeader_customer = c.cus_id
        JOIN
    orderlines ol ON ol.orderLines_orderId = oh.orderHeader_id
        JOIN
    products pr ON ol.orderlines_stockref = pr.products_reference
WHERE
    ol.orderLines_qtyOrdered <> ol.orderlines_qtyInvoiced

电流输出:

输出

尝试这个:

SELECT 
    c.cus_name,
    ol.orderLines_stockRef,
    ol.orderLines_qtyOrdered,
    ol.orderlines_qtyInvoiced,
    pr.products_instock,
    (CASE WHEN ol.orderLines_qtyOrdered - ol.orderlines_qtyInvoiced > pr.products_instock
          THEN pr.products_instock
          ELSE ol.orderLines_qtyOrdered - ol.orderlines_qtyInvoiced) AS qtyToSend,
FROM
    cus c
        JOIN
    orderheader oh ON oh.orderHeader_customer = c.cus_id
        JOIN
    orderlines ol ON ol.orderLines_orderId = oh.orderHeader_id
        JOIN
    products pr ON ol.orderlines_stockref = pr.products_reference
WHERE
    ol.orderLines_qtyOrdered <> ol.orderlines_qtyInvoiced

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM