Союз отличается отборным заявлением - PullRequest
1 голос
/ 02 апреля 2011

Я хочу объединить 3 разных оператора, проблема в том, что я использую цикл, и если в моем запросе:

WHILE some condition

BEGIN
 if(condition 1)
  begin
     select something
  end

 else if(condition 2)
  begin
     select something
  end


 else if(condition 3)
  begin
     select something
  end

END

Запрос работает нормально, но возвращает более 100 различных результатов выбора (отдельные таблицы).Как объединить эти выбранные результаты в одну таблицу?

1 Ответ

0 голосов
/ 02 апреля 2011

Если вы имеете в виду TSQL, то вам нужна временная таблица (#foo) или табличная переменная (@bar). Затем на каждом шаге:

INSERT {name} ({cols})
SELECT {cols}
{etc}

Тогда сделайте финал

SELECT {cols}
FROM {name}

Выбор между табличной переменной и временной таблицей невелик. Я предпочитаю табличные переменные; но для больших данных или если вам нужен идентификатор / индекс, временная таблица может быть более универсальной. Но если вы не в SPROC, вы должны очистить временную таблицу.

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