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
Khi tôi cố gắng thực hiện những điều sau đây tôi nhận được lỗi:Không thể sử dụng cột tạm thời trong mệnh đề where?
Msg 207, Level 16, State 1, Line 13 Invalid column name 'RowID'.
Chỉ cần tự hỏi làm thế nào tôi có thể tham khảo cột tạm thời này? Tôi đã tìm kiếm các bài đăng trước đó đề xuất sử dụng 'có' cho điều này tuy nhiên điều đó dường như không hoạt động.
'<> NULL' sẽ cung cấp cho các vấn đề OP. Nó không phải là mệnh đề có điều kiện dự định, tôi tin. –
@Shark - Cảm ơn bạn, tôi đã bỏ lỡ điều đó. Lỗi được cố định –
+1 như Option3 là một trình tái cấu trúc thực tế hơn của Option2 và thường là một mệnh đề hữu ích hơn cho trình tối ưu hóa hơn Option1. * [Nó có thể cảm thấy ít thanh lịch hơn, nhưng khi nó mang lại cho người tối ưu nhiều manh mối hơn để giảm kế hoạch thực hiện, nó có chân, và tôi thích chân.] * – MatBailie