我的问题是:
我有3张桌子
Workers_Day
,Workers_Night
,Total
在workers_Day
表中:
ID, Name, Day_one, Day_two
在workers_Night
表中:
ID, Name, night_one, night_two
字段将填充1
或0
(0
缺席且1
正在工作)
和TOTAL
ID, Name, Total_days_working, Total_nights_Working, Total
我想将表1和表2中的数据插入到表3中。 我这样做了一个查询,但它不起作用
insert into total (Id, name, Total_days_working, Total_nights_working, Total)
Select id,name,
IIf([day_one]>0,1,0)+IIf([day_two]>0,1,0) as day_workings,
IIf([night_one]>0,1,0)+IIf([night_two]>0,1,0) as Total_nights_working,
Total_days_working+Total_nights_working AS Total
From Workers_day,Workers_night
Where Workers_day.id = Workers_night.id
条件并非总是如此......
表中有时会有不同的工人 但是当ID为“3”的工人“John”在两个表(白天,黑夜)时,问题就开始了
答案 0 :(得分:0)
在这一行:
IIf([day_night]>0,1,0)+IIf([day_night]>0,1,0) as Total_nights_working,
列day_night
不存在。我认为你的意思是night_one
和night_two
。
答案 1 :(得分:0)
您的代码中有2个错误
正确的是:
insert into total (Id, name, Total_days_working, Total_nights_working, Total)
Select Workers_day.id,Workers_day.name,
IIf([day_one]>0,1,0)+IIf([day_two]>0,1,0) as Total_days_working,
IIf([night_one]>0,1,0)+IIf([night_two]>0,1,0) as Total_nights_working,
Total_days_working+Total_nights_working AS Total
From Workers_day,Workers_night
Where Workers_day.id = Workers_night.id