Динамический SQL WHILE приводит ко многим winodws в области результатов в студии управления - PullRequest
0 голосов
/ 17 ноября 2018

У меня такой запрос:

    declare @ProjectID int
    declare @Keyword nvarchar(255)
    declare @SEID int

    select distinct 
           @ProjectID=Project_Id,
           @Keyword=keyword,
           @SEID=SE_Id 
    from [RL].[SearchMetrics_ProjectKeyword] --it returns 120 rows

    while @ProjectID is not null
    begin
        SELECT * 
        FROM Table 1 
        where ID = @ProjectID 
          and Keyword = @Keyword 
          and SEID = @SEID
    end

тогда у меня есть 120 окон результатов в области результатов. Но я бы хотел, чтобы все результаты были только в одном окне

1 Ответ

0 голосов
/ 17 ноября 2018

У меня есть 120 окон результатов в области результатов

Это происходит, если вы запускаете 120 операторов выбора

Я хотел бы, чтобы все результаты были только водно окно

Сделайте это как обычное соединение:

Select * from
(
  select distinct Project_Id, keyword, SE_Id from [RL].[SearchMetrics_ProjectKeyword]
) f
INNER JOIN
Table1 t
ON
  t.ID=F.Project_ID and 
  t.Keyword= f.Keyword and
  t.SEID=f.SE_ID

В вашем запросе были некоторые синтаксические ошибки, поэтому я предположил, например, имя таблицы Table1.Этот запрос может потребовать незначительного исправления

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...