我正在使用SqlServer 2005,并且我有一个我命名的列。
查询大概是这样的:
SELECT id, CASE WHEN <snip extensive column definition> END AS myAlias
FROM myTable
WHERE myAlias IS NOT NULL
然而,这给我带来了错误:
"Invalid column name 'myAlias'."
有没有办法解决这个问题? 在过去,我通常将列定义包含在WHERE或HAVING部分中,但那些大多是简单的,比如COUNT(*)之类的。 我可以在这个临时查询中包含整个列定义,但如果出于某种原因我需要在生产查询中执行此操作,我更希望仅使用一次列定义,以便我不必同时更新两个部分(并在某些时候忘记其中一个)。