2011-12-29 50 views
0

我想插入到子表中,從父表中取出[ACCNO] id和它的計數值,然後在子表的FK中插入[ACCNO]並對每個[ACCNO ],但仍然有一些錯誤子表中的插入語句

INSERT INTO [test1].[dbo].[star_schema] 
      (
      [ACCNO], 
      [book_frequency]) 
    VALUES 
      (SELECT [books_dimension] .ACCNO , count(books_dimension .[ACCNO]) as book_frequency 
      FROM   [books_dimension] 
         group by [ACCNO] having (COUNT(*)>1) order by book_frequency desc) 
GO 

它在SELECT和最後一個括號內給出錯誤。 我也想提一提的是,表[star_schema],該ID是star_int這是一種身份 -

回答

2

從選擇插入時,您無需VALUESORDER BY關鍵字,這樣做:

INSERT INTO [test1].[dbo].[star_schema]([ACCNO], [book_frequency]) 
SELECT 
    [books_dimension].ACCNO, 
    count(books_dimension.[ACCNO]) as book_frequency 
FROM [books_dimension] 
group by [ACCNO] 
having COUNT(*)>1 
+0

謝謝回覆,我查了一下,但是它在desc附近給出了錯誤,我刪除了desc,但是插入了0行,我也通過刪除group by來檢查,還檢查了放置和刪除括號。 – user1074474 2011-12-29 05:34:57

+0

我還想提一下,在表[star_schema]中,id是star_int,它是身份 – user1074474 2011-12-29 05:37:05

+0

(0 row(s)affected),在新的答案 – user1074474 2011-12-29 05:39:23