mysql - 如何根据特定条件将数据从一张表拉取到另一张表?

标签 mysql sql database ms-access

我有两张 table 。表一名为 RAW,表二名为 REPORT。请参阅下面的屏幕截图。这两个表都与列名 REQUESTID 存在关系,但唯一的区别是 - REPORT.REQUESTIDRAW.REQUESTID 的 DISTINCT REPORT 表的其余字段为空。

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

NEW列中INSERT数据

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

当上述条件成立时,REPORT.NEWREQUESTID 应该具有来自 RAW.LASTUPDATEON 的值。结果将类似于我手动填写的屏幕截图。

Tables and Results

最佳答案

查询将是这样的

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)

关于mysql - 如何根据特定条件将数据从一张表拉取到另一张表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34112199/

相关文章:

sql - 包含序列的重复 postgresql 模式

php - 错误号 : 1064 CodeIgniter

mysql - 填充至一定数量

PHP 分组依据并列出所有其他列

MySQL 优化 - MySQL 的最大内存使用率高得危险,但仍建议增加

mysql - 如何在 case 语句中创建循环

sql - 重复行——选择除一列以外的所有列

sql - SQL 中的简单图搜索算法 (PostgreSQL)

php - 在单独的关键字表中搜索最匹配的 id

php - Mysql如何设置时间数据类型为only HH :MM in database