我有两个表格(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'
答案 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
)