繁体   English   中英

创建表时出现问题

[英]Problem in Creating Table

创建表mainTable,将curr_Table.empID选择为empID,将(currTable.ToTalDays-oldTable.ToTalDays)选择为currTable的DiffDays,从currTable.empID = oldTable.empID上外部联接oldTable

这是我用来查找员工工作天数的查询。

当有“新加入者”时,就会出现问题。 “ oldTable.ToTalDays”将没有任何值,因为在oldTable中找不到“ New Joinee”的记录。 因此,对于此记录,DiffDays(整数空)结果为零而不是当前总天数。

有什么办法解决这个问题?

对此不完全确定,但我认为mysql不允许

CREATE TABLE AS SELECT ...

类似的东西。 仔细检查该手册 已经在postgres上看到了这样的查询,但是不记得在mysql上有这样的查询...

编辑:

也执行了双重检查,并且必须承认CREATE TABLE AS SELECT ...实际上是有效的。 没关系,要去喝咖啡...

create table mainTable as
select curr_Table.empID as empID,
       (currTable.ToTalDays - ifnull(oldTable.ToTalDays, 0)) as DiffDays 
  from currTable
         left outer join
       oldTable  on currTable.empID = oldTable.empID

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM