【问题标题】:SQL Query not working using alias, but does work with indexingSQL Query 不能使用别名,但可以使用索引
【发布时间】:2020-08-06 02:38:33
【问题描述】:
SELECT        Product_ID, Product_Name, Purchase_Cost, Quantity_On_Hand, Purchase_Cost*Quantity_On_Hand AS Total_Item_Value
FROM            PRODUCT
ORDER BY 5 DESC

上面的代码有效,但下面的代码无效并返回此错误。

SELECT        Product_ID, Product_Name, Purchase_Cost, Quantity_On_Hand, Purchase_Cost*Quantity_On_Hand AS Total_Item_Value
FROM            PRODUCT
ORDER BY Total_Item_Value DESC

错误:

【问题讨论】:

标签: c# sql ms-access select sql-order-by


【解决方案1】:

MS Access 基本上不允许在查询中的任何地方重用别名。您可以使用列号(如您所做的那样)、重复表达式或使用子查询:

SELECT Product_ID, Product_Name, Purchase_Cost, Quantity_On_Hand, Purchase_Cost * Quantity_On_Hand AS Total_Item_Value
FROM   PRODUCT
ORDER BY Purchase_Cost * Quantity_On_Hand DESC

或者:

SELECT *
FROM (
    SELECT Product_ID, Product_Name, Purchase_Cost, Quantity_On_Hand, Purchase_Cost * Quantity_On_Hand AS Total_Item_Value
    FROM   PRODUCT
) x
ORDER BY Total_Item_Value DESC

【讨论】:

    猜你喜欢
    • 2012-09-15
    • 1970-01-01
    • 2013-11-08
    • 2013-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-19
    • 2011-05-04
    相关资源
    最近更新 更多