C# SQL查询不能使用别名,但可以使用索引

C# SQL查询不能使用别名,但可以使用索引,c#,sql,ms-access,select,sql-order-by,C#,Sql,Ms Access,Select,Sql Order By,上面的代码有效,但下面的代码无效,并返回此错误 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 错误: 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 5 DESC
错误:


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 Total_Item_Value DESC
或:


这回答了你的问题吗?
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