BNA8/.resources/e43bd5bacd7218d1f7897f100a6126764b0bc1085b8122d2f06b117ec62261bf

61 lines
2.2 KiB
Plaintext

SELECT
roundtime AS `Round Time`,
sInduction_Name AS `Induction Name`,
CONCAT(COALESCE(total_single_carrier, 0), '%') AS `Total Single Carrier`,
CONCAT(COALESCE(total_double_carrier, 0), '%') AS `Total Double Carrier`
FROM (
SELECT
FROM_UNIXTIME(
FLOOR(UNIX_TIMESTAMP(t_stamp) /
CEIL(TIMESTAMPDIFF(SECOND, :starttime, :endtime) / 24.0)
) *
CEIL(TIMESTAMPDIFF(SECOND, :starttime, :endtime) / 24.0)
) AS roundtime,
sInduction_Name,
CASE
WHEN (
COALESCE(SUM(diTotal_Single_Carrier), 0) +
COALESCE(SUM(diTotal_Double_Carrier), 0)
) = 0 THEN 0
ELSE ROUND((COALESCE(SUM(diTotal_Single_Carrier), 0) * 100.0) / (
COALESCE(SUM(diTotal_Single_Carrier), 0) +
COALESCE(SUM(diTotal_Double_Carrier), 0)
), 2)
END AS total_single_carrier,
CASE
WHEN (
COALESCE(SUM(diTotal_Single_Carrier), 0) +
COALESCE(SUM(diTotal_Double_Carrier), 0)
) = 0 THEN 0
ELSE ROUND((COALESCE(SUM(diTotal_Double_Carrier), 0) * 100.0) / (
COALESCE(SUM(diTotal_Single_Carrier), 0) +
COALESCE(SUM(diTotal_Double_Carrier), 0)
), 2)
END AS total_double_carrier
FROM induction_data
WHERE t_stamp BETWEEN :starttime AND :endtime
AND (COALESCE(:inductionname, '') = '' OR sInduction_Name = :inductionname)
GROUP BY roundtime, sInduction_Name
UNION ALL
SELECT
FROM_UNIXTIME(
FLOOR(UNIX_TIMESTAMP(t_stamp) /
CEIL(TIMESTAMPDIFF(SECOND, :starttime, :endtime) / 24.0)
) *
CEIL(TIMESTAMPDIFF(SECOND, :starttime, :endtime) / 24.0)
) AS roundtime,
'S02' AS sInduction_Name,
0 AS total_single_carrier,
0 AS total_double_carrier
FROM item_data
WHERE t_stamp BETWEEN :starttime AND :endtime
AND adiSort_Code_0 NOT IN (11, 15)
AND sLocation_ID LIKE 'S02%'
AND (COALESCE(:inductionname, '') = '' OR :inductionname = 'S02')
GROUP BY roundtime
ORDER BY roundtime ASC
) basa;