Метод выбора для записей, которые могут быть показаны более чем в одной группе - PullRequest
0 голосов
/ 09 июня 2019

Я создал отчет Crystal, используя CR-2008. Он предназначен для получения подробной информации о времени выключения ПК. Я хочу разделить время выключения на 4 группы (например, 12: 00-6: 00, 6: 00-12: 00, 12: 18-18: 00 и 18: 12:00). это работает нормально. но каждый перекодировка показывается только в одной группе. но в моей таблице некоторые коды принадлежат более чем двум группам. Как мне показать, что перекодирует в обеих группах.

IF Time({PCTIme.ShutT}) >= time(00,00,00) and Time({PCTIme.ShutT}) < time(06,00,00) then
"12AM - 6AM"

else IF Time({PCTIme.ShutT}) >= time(06,00,00) and Time({PCTIme.ShutT}) < time(12,00,00) then
"6AM -12PM"


else IF Time({PCTIme.ShutT}) >= time(12,00,00) and Time({PCTIme.ShutT}) < time(18,00,00) then
"12PM - 6PM"


else IF Time({PCTIme.ShutT}) >= time(18,00,00) and Time({PCTIme.ShutT}) < time(23,59,59) then
"6PM - 12AM"

1 Ответ

0 голосов
/ 09 июня 2019

Создайте таблицу с именем TIME_SLOT со столбцом START_HOUR и 4 строками:

12 утра
06 am
12 pm
18:00

Соедините эту таблицу с таблицей DOWN_TIME, используя логику:

TIME_SLOT.Start_Hour >= @DOWN_TIME_Start_Hour AND
TIME_Slot.Start_Hour < @DOWN_TIME_End_Hour

Это приведет к тому, что каждая запись DOWN_TIME будет присоединена к такому количеству временных интервалов, которые падают в пределах ее диапазона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...