我有 4 个表:
表 A:
|LineID|
表 B:
|Date|ShiftID|IsWorking|
表 C:
|LineID|Date|ShiftID|IsWorking|
表 D:
|ShiftID|HowLongWorks|
我需要创建一个视图
|LineID|Date|HowLongWorks|
在这个视图中,我需要:
- 表 A 中的所有行 -
表 B 中每一行的所有日期
- 所有班次的总和(HowLongWorks)签名到 IsWorking = 1 的日期
而当C表中存在LineID、Date、ShiftID组合时,IsWorking必须取自表C,如果不存在则取自表B。
是否可以在视图中进行?
例如:表A:
|Line 1|
|Line 2|
表 B:
|2013-01-01|1|1|
|2013-01-01|2|1|
|2013-01-02|1|1|
|2013-01-02|2|0|
|2013-01-03|1|0|
|2013-01-03|2|0|
表 C:
|Line 1|2013-01-01|1|0|
|Line 1|2013-01-01|2|0|
|Line 1|2013-01-02|1|1|
|Line 2|2013-01-03|2|1|
表 D:
|1|8|
|2|10|
视图中的结果应该是:
|Line 1|2013-01-01|0|
|Line 1|2013-01-02|8|
|Line 1|2013-01-03|0|
|Line 2|2013-01-01|18|
|Line 2|2013-01-02|8|
|Line 2|2013-01-03|10|