-1

我尝试从 SQL 数据库中执行 VIEW :

SELECT QTE * PRICE AS TOTAL FROM produit

查询工作正常,但是当我尝试像这样使用我的字段“TOTAL”时,我遇到了问题:

SELECT QTE * PRICE AS TOTAL FROM produit WHERE TOTAL > 1000

我如何使用我的字段 TOTAL ?

4

2 回答 2

2

将其更改为:

SELECT QTE * PRICE AS TOTAL FROM produit WHERE (QTE * PRICE) > 1000

Total是您的数学运算的别名,而不是列,因此您不能使用它where子句

于 2013-06-12T13:44:45.020 回答
0

子句过滤行WHERE,然后子句SELECT转换它们。因此,您不能在WHERE子句中使用转换后的列,因为实际上它还不存在。

重复表达式的先前答案是有效的 - 通常这是最简单的方法。作为替代方案,您也可以使用派生表 - 如果计算复杂,这有时更可取:

SELECT 
     Total 
FROM (
    SELECT QTE * PRICE AS TOTAL FROM produit
) as a
WHERE 
     Total > 1000
于 2013-06-12T13:49:51.137 回答