我正在尝试使用基于另一个的信息更新表。
我有一个来自客户的响应表,表明他们是否完成了一个布尔varchar为'Y或N'的请求。
因为我希望汇总响应数量并查看回复百分比并每周跟踪它们,所以我开发了以下查询。
declare @week1S DATE
set @week1S = '07/01/2016'
declare @week1E DATE
set @week1E = ' 07/07/2016'
Update ArbitrageResponse
Set b.arbcount_1 = COUNT(a.ARB_accomplished)
from arbimport as a
Inner Join ArbitrageResponse as b
WHERE a.Requested_date>=@week1S and a.Requested_date<=@week1E
Group by a.dispatch_group_name
我在where子句上遇到错误?
答案 0 :(得分:1)
当您尝试使用INNER JOIN
而没有ON
子句时,问题就开始了
请尝试以下声明:
declare @week1S DATE = '07/01/2016';
declare @week1E DATE = ' 07/07/2016';
WITH A as (
SELECT COUNT(ARB_accomplished) as ARB_accomplished_CNT
FROM arbimport
WHERE Requested_date>=@week1S and Requested_date<=@week1E
GROUP BY dispatch_group_name
)
Update ArbitrageResponse
Set arbcount_1 = (SELECT ARB_accomplished_CNT FROM A)
然而,它可能不会给你你需要的结果,但至少它会给你一个想法。