0

私の質問は:

私は3つのテーブルを持っています

Workers_DayWorkers_NightTotal

workers_Day:

ID, Name, Day_one, Day_two

workers_Night:

ID, Name, night_one, night_two

1フィールドはorで埋められます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」のワーカー「ジョン」が両方のテーブルにあるときに問題が発生します(昼、夜)

4

2 に答える 2

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
于 2013-07-23T09:42:44.767 に答える