Как насчет чего-то вроде:
INSERT INTO tt (t1_id, t2_id)
SELECT t1.id, t2.id FROM t1, t2 WHERE ...
Просто убедитесь, что SELECT
возвращает именно то, что вы хотите INSERT
- поэтому, если возможно, что t1.id
и t2.id
будут иметь значение NULL, включите соответствующее условие в условие WHERE
(... AND t1.id IS NOT NULL AND t2.id IS NOT NULL ...
).
Вы также можете использовать SELECT DISTINCT
, если есть вероятность появления повторяющихся строк.
Редактировать: Если вам нужно 2 идентификатора из разных строк одной и той же таблицы:
SELECT t1.id, t2.id FROM some_table AS t1, some_table AS t2
WHERE ...