我有两张桌子。表1名为RAW
,表2名为REPORT
。请看下面的截图。这两个表都与列名REQUESTID
有关系,但唯一的区别是 - REPORT.REQUESTID
DISTINCT
RAW.REQUESTID
和REPORT
表的其余字段是空白的。
我正在寻找查询来填充REPORT
表中的数据但我的条件是
INSERT
列中的NEW
数据
REPORT.REQUESTID = RAW.REQUESTID AND RAW.LASTSTATUS= "NEW"
当上述条件为真时,REPORT.NEW
应为其RAW.LASTUPDATEON
提供REQUESTID
的值。结果将在我手动填充的屏幕截图中显示。
答案 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';