У меня есть 3 таблицы SQL:
- Первая: содержит коды [1 ... 22], и каждый код представляет значение. Этот список всегда фиксирован (без изменений) - я собираюсь назвать столбец Code1
- Второй содержит также коды, и каждый раз, когда мы используем набор кодов икаждый код представляет значение - я собираюсь вызвать столбец Code2
- Третья таблица имеет 2 столбца (2 FK) Code1 | Code2 из предыдущих таблиц
Мой вопрос заключается в том, что я хочу всегда выполнять итерацию по всем значениям столбца Code1 из первой таблицы (независимо от того, сколько у меня кодов) и по определенным / определенным значениям столбца Code2 извторая таблица, скажем, [30 .. 55]. Я хочу вставить Code1 и Code2 в третью таблицу.
Пример:
Table 1
Code1|Descript
1|A
2|B
3|C
Table 2
Code2|Descript
1|AA
2|BB
3|CC
4|DD
5|EE
Я хочу вставить в свою третью таблицу следующие значения
Table 3
Code1|Code2
1|2
1|3
1|4
2|2
2|3
2|4
3|2
3|3
3|4
По сути, просматривая каждое значение из таблицы 1 и для конкретных значений из таблицы 2 (в моем примере [2,3, 4]), я сделал запросы на вставку
Каков оптимальный способ выполнения этих запросов на вставку безнеобходимость создания запроса вставки для каждой отдельной записи?
Мое решение выглядит примерно так:
INSERT INTO T3
SELECT T1.Code1, T2.Code2
FROM T1 CROSS JOIN (
SELECT Code2
FROM T2
WHERE Code2 BETWEEN x and y)T2
Спасибо,