繁体   English   中英

在MySQL中插入..SELECT

[英]INSERT..SELECT in MySQL

INSERT INTO tblprofile (fldDate,fldemployeeno,fldLName,fldFName,fldMI,fldEmployeeName,
                        fldShiftCode,fldProjectGroup,fldTask,fldSuperior,fldPosition)
SELECT now(),tblprofile.fldemployeeno,tblprofile.fldlname,tblprofile.fldfname,tblprofile.fldmi,tblprofile.fldemployeename,
       tblprofile.fldshiftcode,tblprofile.fldprojectgroup,tblprofile.fldtask,tblprofile.fldsuperior,tblprofile.fldposition
  FROM tblprofile
 WHERE tblprofile.flddate = (SELECT MAX(flddate) FROM tblprofile p
                              WHERE p.fldemployeeno IN ('EMP0001','EMP0002','EMP0003','EMP0004','EMP0005'))
   AND tblprofile.fldemployeeno IN
       ('EMP0001','EMP0002','EMP0003','EMP0004','EMP0005');

我想复制列表中所有雇员的所有当前个人资料(“ EMP0001”,“ EMP0002”,“ EMP0003”,“ EMP0004”,“ EMP0005”),并且在我的查询中似乎只插入了一(1)行。 。

简而言之,我想尝试一次执行从tblprofile复制员工的所有当前个人资料吗? 谁能帮助我做到这一点..

从您的评论看来,一个用户可能具有多个配置文件,而您想要最新的配置文件并为新的配置文件设置当前日期。

将您的WHERE子句更改为此

从tblprofile t1 WHERE t1.flddate =(SELECT MAX(flddate)从tblprofile p WHERE p.fldemployeeno = t1.fldemployeeno)和t1.fldemployeeno IN('EMP0001','EMP0002','EMP0003','EMP0004','EMP0005 ');

暂无
暂无

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

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