使用以下SQL表達式,但出現錯誤。SQL別名給出無效的列名
select
CampaignCustomer.CampaignCustomerID,
convert(varchar, CampaignCustomer.ModifiedDate, 111) as startdate,
CampaignCustomer.CampaignID,
CampaignCustomer.CampaignCallStatusID,
CampaignCustomer.UserID,
CampaignCustomerSale.Value,
Users.Name
from CampaignCustomer
inner join CampaignCustomerSale
on CampaignCustomer.CampaignCustomerID = CampaignCustomerSale.CampaignCustomerID
inner join Users
on CampaignCustomer.UserID = Users.UserID
where
CampaignCustomer.CampaignCallStatusID = 21
and CampaignCustomer.startdate = '2011/11/22' <------- THIS
order by
startdate desc,
Users.Name asc
錯誤:
Msg 207, Level 16, State 1, Line 1
Invalid column name 'startdate'.
我不能在WHERE子句中認識我的別名startdate
,但它可以在我ORDER BY
條款。怎麼了?
編輯:
沒有,它是不可能對我來說,數據類型更改爲date
而不是datetime
。時間需要在別處。但在這種情況下,我只需要獲得特定日期的所有帖子,我真的不在乎modifieddate
是什麼時間的日期:)
也許需要另一種方法,而不是convert()?
[在Where子句中使用別名或一個替代選項?](http://stackoverflow.com/questions/7705470/using-aliases-in-where-clause-or-an-alternative-option) –