如何根据条件分配值?

发布于 2025-02-09 04:01:42 字数 587 浏览 1 评论 0原文

我有这个CTE,我想根据productionOderStatus列值在计划中的列中带回一定的结果。如果ProductionOderStatus是3或4,那么我只想显示“计划中的列的原始值”,但是如果其他任何内容,那么计划中应该是0。

我该如何实现?我尝试使用案例,但似乎没有起作用。

POH (ITEMNUMBER, SCHEDULEDQUANTITY,CASE1)
    AS
        (
            SELECT ITEMNUMBER, SUM(SCHEDULEDQUANTITY),
            CASE
                WHEN PRODUCTIONORDERSTATUS != 3 THEN SCHEDULEDQUANTITY = 0
                OR PRODUCTIONORDERSTATUS != 4 THEN SCHEDULEDQUANTITY = 0
                ELSE SCHEDULEDQUANTITY
            END AS CASE1
            FROM POH 
            GROUP BY ITEMNUMBER
        )

I have this CTE which I want to bring back a certain result in the SCHEDULEDQUANTITY column based on what the PRODUCTIONORDERSTATUS column value is. If the PRODUCTIONORDERSTATUS is 3 or 4 then I just want the original value of the SCHEDULEDQUANTITY column displayed but if it is anything else then the SCHEDULEDQUANTITY should be 0.

How do I achieve this? I tried using case but it doesn't seem to be working.

POH (ITEMNUMBER, SCHEDULEDQUANTITY,CASE1)
    AS
        (
            SELECT ITEMNUMBER, SUM(SCHEDULEDQUANTITY),
            CASE
                WHEN PRODUCTIONORDERSTATUS != 3 THEN SCHEDULEDQUANTITY = 0
                OR PRODUCTIONORDERSTATUS != 4 THEN SCHEDULEDQUANTITY = 0
                ELSE SCHEDULEDQUANTITY
            END AS CASE1
            FROM POH 
            GROUP BY ITEMNUMBER
        )

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文