2012-11-14 56 views
0

條件插入我有兩個表(employee & log_sheet),我想插入今天的日期到log_sheet時,有沒有在log_sheet發現用戶記錄。如果有記錄,它應該返回一些值。的日期在MySQL

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

要問腳本插入或腳本選擇? – Habibillah

+1

是否可以像「如果沒有找到記錄返回空值並插入今天的日期,否則返回一些值來告訴數據存在」。 –

回答

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 
) 
+0

謝謝你的提示! –