оператор вставки в дочерней таблице - PullRequest
0 голосов
/ 29 декабря 2011

Я пытаюсь вставить в дочернюю таблицу, получая идентификатор [ACCNO] и значение его счетчика из родительской таблицы, а затем вставляя [ACCNO] в FK дочерней таблицы и считая против каждого [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] идентификатор является star_int, который является идентичностью -

1 Ответ

2 голосов
/ 29 декабря 2011

Вам не нужно ключевое слово VALUES и ORDER BY при вставке из select, сделайте так:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...