【发布时间】:2021-06-10 20:12:57
【问题描述】:
有人可以用这个查询为我指明正确的方向吗? 无论我尝试哪种方式,我都会继续出错
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
【问题讨论】:
-
等到您了解表别名。他们会让你大吃一惊:-)。并且知道
LEFT JOIN x ... WHERE x =...与INNER JOIN x...相同 -
@RocketHazmat 好建议,谢谢。我将数据放入 php 并根据 mysql 发送给它的数据将其处理为 4 个查询。愚蠢的为什么我以前没有想到这个,一个更简单的解决方案!再次感谢
-
删除所有
/1000。如果一个数除以 1000 是正数,那么这个数本身也是正数。 -
请解释“无论我尝试哪种方式”以及“我遇到错误”。究竟是什么错误?你试过什么?
-
首先,没有右括号,然后从那里走下坡路: if(sum(d.TOTAL_WEIGHT)/1000=0 AND b.JANUARY_BUDGET=0,"DOUBLE_ZERO "
标签: mysql syntax syntax-error