我正在写一份换档报告:
在我的应用程序中,我提供了一个下拉列表,用于选择shift和line,他们将从日历中选择一个日期
我有三班班
凌晨3点结束
我有一个名为datalogging
的表,其中将存储登录信息,如下所示:
Name Shiftname ID operatorname Date plantname line Machine
Pradeepa Shift2(11-7) 3 Operator 3 2011-05-28 Plant 3 Line5 mc10
Ashwini Shift1(7-3) 1 Operator 1 2011-05-29 Plant 3 Line6 mc12
Deepika Shift2(11-7) 2 Operator 3 2011-05-29 Plant 5 Line9 mc18
Ashwini Shift1(7-3) 1 Operator 1 2011-05-24 Plant 1 Line1 mc1
Deepika Shift2(3-11) 2 Operator 2 2011-05-24 Plant 2 Line3 mc5
Ashwini Shift2(3-11) 1 Operator 2 2011-05-25 Plant 2 Line3 mc5
以此类推。
我有一个参数表,如温度,压力,ph,速度,co2等。
Temperature
表包含以下数据,此表将包含从早上7点到凌晨3点的所有读数
Temperature Time Date
27 13:13:54.000 2011-05-25
27.3 13:14:04.000 2011-05-25
27.6 13:14:14.000 2011-05-25
27.9 13:14:24.000 2011-05-25
28.2 13:14:34.000 2011-05-25
28.5 13:14:44.000 2011-05-25
27 16:13:29.000 2011-05-26
27 16:13:31.000 2011-05-26
以此类推。
用户将从下拉列表和移位中选择一行,如果用户选择shift2、line3和日期25/05/2011,他将从日历中选择一个日期,在下午3点到11点之间的读数应该显示在我的报告中。
我的报告应该是:
Machine Shiftname Date Time Temperature
mc5 Shift2 25/05/2011 13:13:54.000 27
mc5 Shift2 25/05/2011 13:14:04.000 27.3
mc5 Shift2 25/05/2011 13:14:14.000 27.6
我也在做在线报道
如果时间更改为23:00:00,请在我的报告中将shiftname改为shift3
如果用户选择特定的班次和日期(如用户选择shift1、line1和date my report ),则应包含上午7时至下午3时之间的所有读数。
有人能帮我吗。
发布于 2011-05-31 06:51:23
您可以通过以下查询获得报告
SELECT d.Machine
, CASE WHEN t.time BETWEEN '19:00:00.000' AND '23:59:59.999' THEN 'Shift1'
WHEN t.time BETWEEN '00:00:00.000' AND '02:59:59.999' THEN 'Shift1'
WHEN t.time BETWEEN '03:00:00.000' AND '10:59:59.999' THEN 'Shift2'
WHEN t.time BETWEEN '11:00:00.000' AND '18:59:59.999' THEN 'Shift3'
END
, t.Date
, t.Time
, t.Temperature
FROM Datalogging d
INNER JOIN Temperature t ON t.Date = d.Date
WHERE d.Shifname = 'Shift2(3-11)'
AND d.Line = 'Line3'
AND t.Date = '25/05/2011'
但是,如果我们可以假设每台机器每天都有温度读数,那么很明显,您的Temperature
表和Datalogging
表之间缺少一种关系。
https://stackoverflow.com/questions/6183820
复制相似问题