我将几个较小的表插入到较大的表中。
例如,如果过了一段时间,我想从大表(MI_TOTAL)中删除数据,而只有与一个小表相对应的数据,例如(MI_APR),可以这样做吗?
小表(MI_APR)中没有一列可以区分其他小表。
INSERT INTO MI_TOTAL
SELECT * FROM MI_APR;
INSERT INTO MI_TOTAL
SELECT * FROM MI_MAY;
答案 0 :(得分:2)
例如,即使它是带有“加载日期”的日期列,您也需要在MI_TOTAL中的列中标识其来源。如果子表包含的名称唯一的日期,即MI_APR只有4月的日期,则可以使用该日期:
DELETE FROM MI_TOTAL WHERE MONTH(MI_TOTAL.datecol)=4
子表似乎与月份相关,所以为什么不添加Int列来保存与插入数据相关的月份,则变得很容易。或一个带有源表名称的字符串列是真正明确的:
DELETE FROM MI_TOTAL WHERE source='MI_APR';
这种方法的优势在于,您也可以使用此列过滤TOTAL表中的所有搜索内容