1

サブスクリプション時間数を持つエージェンシーが消費した分のうち、正味および総パーセンテージを確認する必要があります。テーブルは各エージェンシーが消費した分を保持しますが、「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
4

1 に答える 1