0

2 つのテーブル ( employee& ) があり、ユーザーのレコードが見つからないときにlog_sheet今日の日付を挿入したいと考えています。レコードがある場合は、何らかの値を返す必要があります。log_sheetlog_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' 
4

2 に答える 2

0

すべての従業員が少なくとも 1 つの 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ます。

于 2012-11-14T23:11:49.600 に答える
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
)
于 2012-11-14T23:14:47.313 に答える