在使用基于计算值的条件的SELECT语句中,是否可以在不计算计算值的情况下包括该计算值-一次在选择中,另一次在条件中?
我使用的是SQL Server 2000。
发布于 2011-10-13 15:22:55
您可以将所有内容放入子查询中并从中进行选择
SQL语句
SELECT *
FROM (
SELECT COL1 + COL2 as CalcColumn
FROM Table
) q
WHERE 100 < CalcColumn 但是对于性能,我希望这会比你的原始查询更慢的。
发布于 2011-10-13 15:27:18
如果您在编写查询时使用它,应该不会有任何显着的性能损失。我相信SQL会帮你处理的。我的问题是,你为什么要使用上个世纪的软件?
我刚试过了
SELECT Debit, Credit, Debit+Credit AS CalcColumn FROM JDT1 WHERE CalcColumn > 100在SQL 2005上,错误是: Msg 207,Level 16,State 1,Line 1无效列名'CalcColumn‘。
发布于 2011-10-13 15:23:32
SELECT COL1+COL2 as CalcColumn,*
FROM TABLE WITH (NOLOCK)
WHERE 100 < CalcColumn希望这能有所帮助。
https://stackoverflow.com/questions/7750671
复制相似问题