我尝试从 SQL 数据库中执行 VIEW :
SELECT QTE * PRICE AS TOTAL FROM produit
查询工作正常,但是当我尝试像这样使用我的字段“TOTAL”时,我遇到了问题:
SELECT QTE * PRICE AS TOTAL FROM produit WHERE TOTAL > 1000
我如何使用我的字段 TOTAL ?
将其更改为:
SELECT QTE * PRICE AS TOTAL FROM produit WHERE (QTE * PRICE) > 1000
Total
是您的数学运算的别名,而不是列,因此您不能使用它where
子句
子句过滤行WHERE
,然后子句SELECT
转换它们。因此,您不能在WHERE
子句中使用转换后的列,因为实际上它还不存在。
重复表达式的先前答案是有效的 - 通常这是最简单的方法。作为替代方案,您也可以使用派生表 - 如果计算复杂,这有时更可取:
SELECT
Total
FROM (
SELECT QTE * PRICE AS TOTAL FROM produit
) as a
WHERE
Total > 1000