通过选择不同值插入查询中的 MySQL 语法错误

标签 mysql sql-insert distinct-values

我的查询显示错误(预期表达式接近 DISTINCT),我不知道如何解决它,如果我删除第一个 INSERT 查询行,值选择正确,如果我添加插入它显示错误,任何帮助都可以很有用,提前致谢。

INSERT INTO normal_days (user_id, department_id,designation_id,date_cur,clock_in,clock_out)
  SELECT DISTINCT clo.user_id, design.department_id , uses.designation_id, clo.date,clo.clock_in, clo.clock_out
  FROM clock clo 
    INNER JOIN holidays AS hol ON hol.date != clo.date
    INNER JOIN users AS uses ON clo.user_id = uses.id
    INNER JOIN designations AS design ON design.id = uses.designation_id
  WHERE date(clo.created_at) = "2016-06-23"
    AND TIMESTAMPDIFF(second,clo.clock_in, clo.clock_out) = 28800
    AND !(DAYOFWEEK(clo.date)=7)
    AND !(DAYOFWEEK(clo.date)=1);

最佳答案

INSERT INTO normal_days (user_id, department_id,designation_id,date_cur,clock_in,clock_out)
SELECT clo.user_id, design.department_id , uses.designation_id, clo.date, clo.clock_in, clo.clock_out
FROM clock clo 
LEFT JOIN holidays AS hol ON hol.date = clo.date
INNER JOIN users AS uses ON clo.user_id = uses.id
INNER JOIN designations AS design ON design.id = uses.designation_id
WHERE date(clo.created_at) = "2016-06-23" 
AND TIMESTAMPDIFF(second,clo.clock_in, clo.clock_out) = 28800
AND !(DAYOFWEEK(clo.date)=7)
AND !(DAYOFWEEK(clo.date)=1)
AND hol.date is NULL ;

关于通过选择不同值插入查询中的 MySQL 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38047601/

相关文章:

mysql - 将 MySQL 列从 VARCHAR 迁移到另一个表中的外键的最有效方法

postgresql - 我可以在 postgres 的 CASE 中使用 INSERT

sql - 触发器以确保总和小于不同表中的值

sql - 为数据组选择 DISTINCT

azure - 在 Kusto 查询语言(Azure Monitor 日志)中仅获取类别内的唯一值

mysql - 如何在 heroku 的 laravel 项目中添加另一个数据库

传递字符串时PHP MySQL查询错误

PHP,MySql : How to know which table was used

sql - 在 Oracle SQL 表中插入值的有效方法

python - 如何在 pandas df 中获取不同的行并将重复的项目合并到列中?