如何根据特定条件将数据从一个表拉到另一个表?

时间:2015-12-05 23:31:55

标签: mysql sql database ms-access

我有两张桌子。表1名为RAW,表2名为REPORT。请看下面的截图。这两个表都与列名REQUESTID有关系,但唯一的区别是 - REPORT.REQUESTID DISTINCT RAW.REQUESTIDREPORT表的其余字段是空白的。

我正在寻找查询来填充REPORT表中的数据但我的条件是

INSERT 列中的NEW数据

REPORT.REQUESTID = RAW.REQUESTID AND RAW.LASTSTATUS= "NEW"

当上述条件为真时,REPORT.NEW应为其RAW.LASTUPDATEON提供REQUESTID的值。结果将在我手动填充的屏幕截图中显示。

Tables and Results

2 个答案:

答案 0 :(得分:0)

查询将是这样的

INSERT INTO REPORT (REQUESTID, NEW) SELECT REQUESTID, LASTUPDATEDON
FROM RAW WHERE LASTSTATUS = "NEW"

插入表

中不存在的值
INSERT INTO REPORT (REQUESTID, NEW) SELECT REQUESTID, LASTUPDATEDON
FROM RAW WHERE LASTSTATUS = "NEW" AND REQUESTID NOT IN (SELECT REQUESTID FROM REPORT)

答案 1 :(得分:0)

我自己找到了。这是我正在寻找的查询。

UPDATE MAIN 
INNER JOIN RAW ON MAIN.REQUESTID=RAW.REQUESTID 
SET MAIN.NEW = [RAW].[LASTUPDATEON]
WHERE RAW.LASTSTATUS='NEW';