在MySql中的日期条件插入

时间:2012-11-14 22:56:01

标签: mysql insert

我有两个表格(employee& log_sheet),当log_sheet中没有找到记录时,我希望将今天的日期插入log_sheet用户。如果有记录,则应返回一些值。

SELECT employee.id,
       employee.name,
       log_sheet.`date`
FROM   employee
       LEFT OUTER JOIN log_sheet
                    ON employee.id = log_sheet.employee_id
WHERE  employee.name = 'admin' 

2 个答案:

答案 0 :(得分:0)

所以你想确保每个员工至少有一个log_sheet,对吗?

这样的事情应该有效:

INSERT INTO log_sheet (employee_id, date)
    SELECT id, DATE(NOW()) 
    FROM   employee
    WHERE  name = 'admin' 
      AND  id NOT IN ( SELECT DISTINCT employee_id FROM log_sheet ) 

要预览此功能,请在#行之前添加INSERT

答案 1 :(得分:0)

尝试下面的查询:

insert into log_sheet (date, employee_id) 
(
SELECT now(),
    employee.id
FROM employee
LEFT OUTER JOIN log_sheet ON employee.id = log_sheet.employee_id
WHERE employee.name = 'admin' AND log_sheet.`date` IS NULL
)