我对此很陌生,想在这里看看我做错了什么。这是代码:
application/json
我一直收到此错误消息-错误代码:1054。“字段列表”中的未知列“ coin_total”
我在这里做错了什么?
谢谢!
答案 0 :(得分:1)
使用MySQL @variables,可以通过别名选择声明变量,然后将其设置为该计算值,但仍保存为最终列名,以内联方式进行。
SELECT
register_date,
day_total,
@myTotalCoins := (num_qtrs * .25)
+ (num_dimes * .10)
+ (num_nickles * .05)
+ (num_pennies *.01) AS coin_total,
CASE WHEN day_total = @myTotalCoins
THEN 'Yes' ELSE 'NO' END 'Match'
FROM
Register,
( select @myTotalCoins := 0 ) sqlvars;
第二个别名必须是一个选择,但是将创建具有相应日期类型,数字,日期,字符串的“ @variable”。然后,当您在查询中将它们用作
时@myTotalCoins := (computation)
它会在那一刻将该行的计算结果存储到该变量中,现在可以将其用于比较。您还可以使用此技术来生成汇总汇总,例如获取每位客户每天,每件事的运行总计。您可以在选择中定义任意数量的变量,它们将以相似的方式提供。
答案 1 :(得分:0)
这里实际上不需要变量。它们会使思维更复杂,并且可能会很慢。
您可以重复表达:
Entity1
FROM寄存器;
或者您可以包装查询:
SELECT
register_date,
day_total,
num_qtrs * .25 + num_dimes * .10 + num_nickles * .05 + num_pennies *.01 AS coin_total,
CASE
WHEN day_total = num_qtrs * .25 + num_dimes * .10 + num_nickles * .05 + num_pennies *.01
THEN 'Yes'
ELSE 'NO'
END match
旁注:
不要使用单引号声明标识符;单引号应仅用于字符串文字;如果您的idenfier包含特殊字符(此处不是这种情况),则可以改用反引号
总和中的乘法运算不需要括号; MySQL知道算术运算中的优势