下面我试图从子表更新父表的值和计数匹配值。我的数据库中的表格:子表中的更新,只有一个值得到更新
issue_dimension
id = issue_id并具有列accno。star_schema
id为star_id,这个孩子柱已FK ISSUE_ID和列book_frequency
的book_frequency需要匹配在父表中每个登录号的数量,我想这
update [test1] .[dbo] .star_schema
set [book_frequency] = (
select top 1 COUNT([issue_dimension].ACCNO)as book_frequency
from issue_dimension
group by ACCNO having (COUNT(*)>1) and
issue_dimension.ACCNO = star_schema .ACCNO
)
它仅更新第一个值计数issue_dimension。我需要计算issue_dimension中的每个accno并将其更新为匹配star_schema的accno。
UPDATE [test1].[dbo].star_schema SET
[book_frequency] =
(
SELECT COUNT([issue_dimension].ACCNO)
FROM issue_dimension
WHERE issue_dimension .ACCNO = star_schema.ACCNO
HAVING COUNT(*)>1
)
它再次只更新一个值,它只计算一个值 – user1074474 2011-12-29 07:52:07
有多少行返回:'SELECT ACCNO,COUNT(*)as CNT FROM issue_dimension GROUP BY ACC_NO HAVING COUNT(*)> 1'? – chopikadze 2011-12-29 08:35:27