繁体   English   中英

带有 SELECT 语句的 SQL INSERT INTO 和带有 where 子句的 INNER JOIN

[英]SQL INSERT INTO with SELECT statement and INNER JOIN with where clause

我写了这个查询,用于将数据从一个表插入到另一个表,表字段CHECKTIME >= 12的以下条件小时应该插入到Att_process表中,该查询在 SQL Server 上成功执行,但数据没有插入到表中,但是小时 > 12 数据也在表中

INSERT INTO Att_process(USERID,checkout_time)
    SELECT 
        CHECKINOUT.USERID, CHECKINOUT.CHECKTIME
    FROM
        CHECKINOUT 
    INNER JOIN 
        Att_process ON CHECKINOUT.USERID = Att_process.USERID
    WHERE
        DATEPART(HOUR, CHECKTIME) >= 12;

在此处输入图片说明

任何人都可以帮我解决这个问题真的很感激

您的 Att_process 表中是否已有数据?

您正在使用 Att_process 表的 User_ID 加入,同时尝试在您加入的表中插入。 那么join将如何产生数据呢?

请让我们知道 Att_process 表及其与 CHECKINOUT 表的关系。

可能你需要的是

INSERT INTO Att_process(USERID,checkout_time)
    (SELECT 
        CHECKINOUT.USERID, CHECKINOUT.CHECKTIME
    FROM
        CHECKINOUT         
    WHERE
        DATEPART(HOUR, CHECKTIME) >= 12;
    )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM