サブスクリプション時間数を持つエージェンシーが消費した分のうち、正味および総パーセンテージを確認する必要があります。テーブルは各エージェンシーが消費した分を保持しますが、「nocomp_ta」列の値が「1」の場合は総計になり、「0」の場合は正味(課金可能時間)になります。有効化された列が「1」の場合、メトリックには含まれません。私の問題は、それを機能させることができないように見えることです。エラーはスローされませんが、結果は正しくありません。テストには Heidi sql を使用しています。
SELECT
( SUM( times.times_minutes ) / 60 ) AS Gross,
( SUM( times.times_minutes ) / 60 * 100 ) / agencies.subscription AS GrossPercent,
( _tt.net / 60 ) AS Net,
( ( _tt.net / 60 )*100 ) / agencies.subscription AS NetPercent,
times.time_minutes,
times.time_task,
times.time_agencie,
tasks_tiemes.code_t,
tasks_tiemes.nocomp_ta,
agencias.EMP_CODE,
agencias.EMP_NAME,
agencies.subscription,
agencies.habilitated
FROM times
INNER JOIN agencies
ON agencies.EMP_CODE = times.time_agencie
INNER JOIN tasks_times
ON tasks_times.nocomp_ta = 0 AND times.time_task = tasks_times.code_t
LEFT JOIN (SELECT
( SUM( times.time_minutes ) / 60 ) AS net,
times.time_date,
times.time_minutes,
agencies.EMP_CODE,
agencies.habilitaed
FROM times
INNER JOIN agencies
ON agencies.EMP_CODE = times.time_agencie
INNER JOIN tasks_times
ON tasks_times.nocomp_ta = 1 AND times.time_task = tasks_times.code_t
WHERE
agencies.habilitated = 0 AND
AND YEAR( times.time_date ) BETWEEN '2013' AND '2013'
AND MONTH( times.time_date ) BETWEEN '5' AND '5'
GROUP BY times.time_agencie) _tt
ON _tt.EMP_CODE = times.time_agencie
WHERE
agencies.habilitated = 0
AND YEAR( times.time_date ) BETWEEN '2013' AND '2013'
AND MONTH( times.time_date ) BETWEEN '5' AND '5'
GROUP BY times.time_agencie