Мне очень помогли (также сгенерировать серию). Спасибо за помощь.

пределение: декартово произведение двух множеств - это множество всех возможных пар этих множеств, поэтому {A, B} x {a, b} = {(A, a), (A, b), (B, a ), (б, б)}.

Теперь я хочу вставить такой декартово произведение в таблицу базы данных (каждая пара в виде строки). Он предназначен для заполнения таблицы значениями по умолчанию для каждой пары, поэтому данные, то есть эти два набора, на данный момент отсутствуют в базе данных.

Есть идеи, как этого добиться с помощью postgresql?

РЕДАКТИРОВАТЬ :

С помощью ответа Гжегожа Шпетковского я смог создать запрос, который выполняет то, что я хочу достичь, но на самом деле он не самый красивый. Предположим, я хочу вставить декартово произведение множеств {1,2,3} и {'A', 'B', 'C'}.

INSERT INTO "Test"
SELECT * FROM
(SELECT 1 UNION SELECT 2 UNION SELECT 3) P
CROSS JOIN
(SELECT 'A' UNION SELECT 'B' UNION SELECT 'C') Q

Есть ли лучший способ сделать это?

EDIT2: Принятый ответ в порядке, но я нашел другую версию, которая может подойти, если она станет более сложной:

CREATE TEMP TABLE "Numbers" (ID integer) ON COMMIT DROP;
CREATE TEMP TABLE "Chars" (Char character varying) ON COMMIT DROP;
INSERT INTO "Numbers" (ID) VALUES (1),(2),(3);
INSERT INTO "Chars" (Char) VALUES ('A'),('B'),('C');
INSERT INTO "Test"
SELECT * FROM
"Numbers"
CROSS JOIN
"Chars";

Ответы на вопрос(1)

Ваш ответ на вопрос