INSERT INTO SELECT WHERE col = col

时间:2012-12-12 07:39:44

标签: 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

1 个答案:

答案 0 :(得分:3)

您不需要在此使用INSERT语句,因为您的桌子上已有记录。但改为UPDATEJOIN

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