2014-05-15 45 views
0

上運行,提供了錯誤聚合可能不會出現在UPDATE語句的集合列表中。如果列名更新

聚合不應出現在UPDATE語句的集合列表中。

代碼:

update CheckInCheckOut 
set CountHours = ROUND(SUM(DATEDIFF(ss, '2014-05-15 00:23:04.580', '2014-05-15 00:25:04.580')/60.0/60.0), 2) 

    CheckIn datetime, 
    CheckOut datetime 

例,將不勝感激:

update CheckInCheckOut 
set CountHours = (select ROUND(SUM(DATEDIFF(ss,CheckIn,CheckOut)/60.0/60.0), 2)) 
where UserId_Fk = 3 

,當我把它寫成此查詢工作。

+0

我有問題編輯 – user3590485

+1

OK,但下一次,請將其添加到** **的標籤! 'sql-server-2008'這就是他們在那裏爲 –

回答

1

嘗試聲明一個變量爲宗旨:

DECLARE @Result Decimal(18, 0) 
SET @Result = ROUND(SUM(DATEDIFF(ss,'2014-05-15 00:23:04.580','2014-05-15 00:25:04.580')/60.0/60.0), 2) 

update CheckInCheckOut 
set CountHours= @Result 
where UserId_Fk=3 
+0

抱歉..我想使用CheckIn和CheckOut而不是'2014-05-15 00:23:04.580'和'2014-05-15 00:25: 04.580' 。 '無效的列名CheckIn,CheckOut' – user3590485

+0

那麼你必須爲select語句指定'From'。 – Hassan

相關問題