SQL查询,以插入基于排序的表,并为其他类别复制相同的表



我有一个主表

类型 插槽时间
A 0700
A 0730
B 0600
B 0630

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

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
);

上面使用的交叉连接生成类型和槽时间的所有可能组合。然后,我们使用存在逻辑来不插入表中已经存在的任何元组。

最新更新