Линейный отчет, Линейный отчет - PullRequest
3 голосов
/ 31 мая 2011

Я создаю отчет о сдвиге строк:

В моем приложении я предоставляю раскрывающийся список для выбора сдвига и линии, и они будут выбирать дату из календаря

У меня есть3 смены

  • shift1 начинается в 7 утра и заканчивается в 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:00 до 3:00

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, какие показания должны быть между 15:00 и 23:00, еслибудет отображаться в моем отчете

Мой отчет должен выглядеть лike:

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, имя смены должно меняться на shift3 вмой отчет

, если пользователь выбирает конкретную смену и дату, например, если пользователь выбирает shift1, line1 и дату, мой отчет должен содержать все показания с 7:00 до 15:00

Может ли кто-нибудь помочь мне в этом.

1 Ответ

2 голосов
/ 31 мая 2011

Вы можете получить свой отчет по следующему запросу

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 и * отсутствует связь1005 * таблица.

...