我尝试在 SO 中搜索类似的案例,但找不到正确的搜索结果。我的问题是这样的:
我有这个查询,它工作正常并显示很多结果(net_salary
是 salary
和 totaldeductions
字段之间相减的结果,都存储为浮点型。我不记得为什么,但我需要将它们存储为浮点型):
从员工中选择姓名、地址、城市、州、邮政编码、工资总扣除额作为 net_salary,其中州 = 'CA' ORDER BY 地址 ASC
如果我尝试修改它并添加 AND net_salary > 5000
页面/框架将变为空白:
从员工中选择姓名、地址、城市、州、邮政编码、工资总扣除额作为 net_salary,其中 state = 'CA' AND net_salary > 5000 ORDER BY 地址 ASC
我尝试搜索代码失败的地方,似乎 if (mysqli_stmt_prepare($stmt, $MyQuery))
失败。第一个查询有效并且 net_salary 有效,但在第二个查询中,我尝试在失败的情况下使用变量 net_salary ,使用在中创建的变量是否错误查询作为查询中的条件?你能发现哪里出了问题吗?
最佳答案
要获取结果,请尝试以下查询:
SELECT name, address, city, state, zip_code, (salary - totaldeductions) as net_salary FROM employees WHERE state = 'CA' AND (salary - totaldeductions) > 5000 ORDER BY address ASC
这里您需要在 where 条件中放置相同的条件。如果您想在其中使用别名,那么它将不起作用,但使用having,但having与聚合列一起使用。
尝试这个查询。
关于PHP MySQL计算AS不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39451772/