创建表mainTable作为选择curr_Table.empID作为empID, (currTable.ToTalDays-oldTable.ToTalDays)作为DiffDays 来自currTable左外连接oldTable on currTable.empID = oldTable.empID
这是我用来查找员工工作日期的查询。
当有“New Joinee”时,问题就会出现。 “oldTable.ToTalDays”将没有任何价值,因为oldTable中的“New Joinee”不会找到任何记录。因此,对于此记录,DiffDays(整数空)结果为零而不是当前总天数。
有什么方法可以解决这个问题吗?
答案 0 :(得分:1)
不完全确定这个,但我不认为mysql允许
CREATE TABLE AS SELECT ...
有点事。 Doublecheck the manual on that one。在postgres上看过这样的问题,但是在mysql上不记得这样的问题...
编辑:
也执行了双重检查,并且必须承认CREATE TABLE AS SELECT ...在契约中有效。没关系,要去喝点咖啡......
答案 1 :(得分:0)
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