select cast(de.ApprovalOrder AS VARCHAR(32))
+ cast(de.EntityCode AS VARCHAR(32))
+ isnull(cast(de.DelegationCode AS VARCHAR(32)), '') as 'RowID' ,
*
from workflow.delegation_engine de
where RowID <> NULL
Когда я пытаюсь выполнить следующее я получаю сообщение об ошибке:Нельзя использовать временную колонку в разделе where?
Msg 207, Level 16, State 1, Line 13 Invalid column name 'RowID'.
Просто интересно, как я могу ссылаться на эту временную колонку? Я искал предыдущие публикации, которые предполагали использовать «наличие» для этого, но это тоже не работает.
'<> NULL' даст проблемы с OP. Я полагаю, это не предполагаемая условная оговорка. –
@Shark - Спасибо, я пропустил это. Ошибка исправлена –
+1, поскольку Option3 является более практичным рефактором Option2 и часто является более полезным предложением для оптимизатора, чем Option1. * [Это может показаться менее изящным, но когда он дает оптимизатору больше подсказок, чтобы уменьшить план выполнения, у него есть ноги, и мне нравятся ноги.] * – MatBailie