SQL 查询以根据排序插入 table 并将其复制到其他类别

SQL query to insert a table based on the sort and duplicating the same for other categories

我有师父table

类型 时段
一个 0700
一个 0730
B 0600
B 0630

我想要最终的table,它具有所有类型的所有插槽,按升序排列

类型 时段
一个 0600
一个 0630
一个 0700
一个 0730
B 0600
B 0630
B 0700
B 0730

我正在使用 oracle SQL 开发人员。你能帮我找到什么类型的程序可以帮助我形成这个新的 table?

我们可以使用具有现有逻辑的交叉连接方法:

INSERT INTO master (Type, SlotTime)
SELECT t1.Type, t2.SlotTime
FROM (SELECT DISTINCT Type FROM master) t1
CROSS JOIN (SELECT DISTINCT SlotTime FROM master) t2
WHERE NOT EXISTS (
    SELECT 1
    FROM master m
    WHERE m.Type = t1.Type AND m.SlotTime = t2.SlotTime
);

上面使用的交叉连接生成所有可能的类型和时隙组合。然后我们使用 exists 逻辑不插入任何已存在的元组 table.