mysql - 插入 SELECT WHERE col = col

标签 mysql sql

请有人能帮帮我,我有一个用户表和另一个包含用户和日期时间的表(这是一个日志文件,每个用户存在多个日期)。我需要从日志表中获取最近的日期并将其插入同一用户旁边的第一个表中。

这是我拥有的,但它不起作用:

INSERT INTO tb1 n (DT) 
SELECT w.DT 
FROM tb2 w
WHERE w.User = n.User
ORDER BY w.DT DESC
limit 1

最佳答案

您不需要在此处使用 INSERT 语句,因为您的表中已经存在记录。而是使用 JOIN

UPDATE
UPDATE  tb1 a
        INNER JOIN
        (
            SELECT  user, MAX(DT) maxDT
            FROM    tb2
            GROUP by user
        ) b ON a.user = b.user
SET     a.DT = b.maxDT

关于mysql - 插入 SELECT WHERE col = col,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13835010/

相关文章:

python - 使用 python sqlite3 将行插入 sqlite 数据库的简要语法

sql - 您可以并且应该将表名存储在表中吗?

mysql - 对将日期字段与文字进行比较感到困惑

php - Safari 和 iPhone Safari 播放为 "live streaming",文件大小有限(MySQL、PHP)

MySQL 获取最近10条记录中的第一条记录

php - 通过PHP将日期值插入MySQL

mysql - 按区域设置然后选择语言?

java - JTextField 未正确更新

sql - 过程参数中的字符串连接

mysql - BETWEEN 无法正常工作