我想根據同一個表中其他行的存在刪除SQL Server 2000/2005表變量中的行(如果非0計數刪除所有0計數行行存在相同的日期)。下面是一個簡單的例子只應刪除該行補充第一:從刪除語句中刪除別名的表變量
declare @O table (
Month datetime,
ACount int NULL
)
insert into @O values ('2009-01-01', 0)
insert into @O values ('2009-01-01', 1)
insert into @O values ('2008-01-01', 1)
insert into @O values ('2007-01-01', 0)
delete from @O o1
where ACount = 0
and exists (select Month from @O o2 where o1.Month = o2.Month and o2.ACount > 0)
的問題是,我不能讓SQL服務器接受該表變量的01別名(我認爲一個別名,需要因「o1.Month = o2.Month
」匹配字段名稱)。錯誤是:
消息102,15級,狀態1,11號線
附近有語法錯誤 '01'。
哇,不知道這個語法!如果你沒有粘貼圖片,我會拒絕它作爲無效。這是否適用於SQL2000或僅適用於SQL Server 2005?我現在在家,所以無法直接驗證。 – 2009-02-28 05:28:44