Перебор таблицы в высокопроизводительном коде - PullRequest
0 голосов
/ 09 июня 2011

Предположим, у меня есть две временные таблицы

CREATE TABLE TableA
(
    SomeValue    NVARCHAR(64)
)

CREATE TABLE TableB
(
    SomeValue    NVARHCAR(64)
)

и финальная таблица

CREATE TABLE TableC
(
    SomeValue1    NVARCHAR(64),
    SomeValue2    NVARHCAR(64)
),

, как лучше всего вставить в TableC каждую возможную комбинацию значений от TableA и TableB с высокой производительностью?Я знаю, что курсоры должны быть наименее важными, но будут ли два цикла WHILE делать это достаточно быстро?

1 Ответ

3 голосов
/ 09 июня 2011

Простое декартово произведение, представляющее собой CROSS JOIN ( Wikipedia , MSDN )

INSERT TABLEC 
   (SomeValue1, SomeValue2)
SELECT
   TABLEA.SomeValue, TABLEB.SomeValue
FROM
   TABLEA CROSS JOIN TABLEB
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...