首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL语法帮助

MYSQL语法帮助
EN

Stack Overflow用户
提问于 2021-03-13 03:38:38
回答 1查看 30关注 0票数 0

有没有人能为我指出这个问题的正确方向?无论我用哪种方法尝试,我都会继续得到错误

代码语言:javascript
复制
SELECT b.SOLD_TO
     , b.CUSTOMER
     , b.JANUARY_BUDGET
     , Round(sum(d.TOTAL_WEIGHT)/1000,2) AS MONTHLY_DESPATCH
     , if(sum(d.TOTAL_WEIGHT)/1000=0 AND b.JANUARY_BUDGET=0,"DOUBLE_ZERO",
if(sum(d.TOTAL_WEIGHT)/1000>0 AND b.JANUARY_BUDGET=0,"NO_BUDGET_GOOD_SHIPMENT",
if(sum(d.TOTAL_WEIGHT)/1000>0 AND b.JANUARY_BUDGET>0 AND (sum(d.TOTAL_WEIGHT)/1000> b.JANUARY_BUDGET,"ABOVE_BUDGET",
if(sum(d.TOTAL_WEIGHT)/1000>0 AND b.JANUARY_BUDGET>0 AND (sum(d.TOTAL_WEIGHT)/1000< b.JANUARY_BUDGET,"POOR_RESULT")))) AS PERFORMANCE
FROM budget2021 b
left JOIN despatches2021 d on d.SOLD_TO = b.SOLD_TO
WHERE b.SOLD_TO=69946 AND d.INVOICE_DATE BETWEEN 20210101 and 20210131
GROUP BY b.SOLD_TO
     , b.CUSTOMER
     , b.JANUARY_BUDGET
EN

回答 1

Stack Overflow用户

发布于 2021-03-13 04:12:39

嗯,很难解释,你把wron做了什么

IF( condition,true,false)是一种与嵌套数量无关的形式。

上帝的代码缩进有助于处理这样的事情。

我还必须在最后一个IF的末尾添加一个NULL,因为我不知道你想要做什么

代码语言:javascript
复制
SELECT 
    b.SOLD_TO,
    b.CUSTOMER,
    b.JANUARY_BUDGET,
    ROUND(SUM(d.TOTAL_WEIGHT) / 1000, 2) AS MONTHLY_DESPATCH,
    IF(SUM(d.TOTAL_WEIGHT) / 1000 = 0
            AND b.JANUARY_BUDGET = 0,
        'DOUBLE_ZERO',
        IF(SUM(d.TOTAL_WEIGHT) / 1000 > 0
                AND b.JANUARY_BUDGET = 0,
            'NO_BUDGET_GOOD_SHIPMENT',
            IF(SUM(d.TOTAL_WEIGHT) / 1000 > 0
                    AND b.JANUARY_BUDGET > 0
                    AND (SUM(d.TOTAL_WEIGHT) / 1000 > b.JANUARY_BUDGET),
                'ABOVE_BUDGET',
                IF(SUM(d.TOTAL_WEIGHT) / 1000 > 0
                        AND b.JANUARY_BUDGET > 0
                        AND (SUM(d.TOTAL_WEIGHT) / 1000 < b.JANUARY_BUDGET),
                    'POOR_RESULT',
                    NULL)))) AS PERFORMANCE   -- here i added the NULL
FROM
    budget2021 b
        LEFT JOIN
    despatches2021 d ON d.SOLD_TO = b.SOLD_TO
WHERE
    b.SOLD_TO = 69946
        AND d.INVOICE_DATE BETWEEN 20210101 AND 20210131
GROUP BY b.SOLD_TO , b.CUSTOMER , b.JANUARY_BUDGET
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66606190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档