2017-08-10 12 views
1

以下のクエリがあります。 クエリの結果からnull値を削除するにはどうすればよいですか? 一行のみが残るように、クエリの結果からヌル値を削除します

SELECT 
    CASE 
WHEN department = 'РФ' THEN 
    avg_time 
END AS `РФ`, 
CASE 
WHEN department = 'ЕС' THEN 
    avg_time 
END AS `ЕС`, 
CASE 
WHEN department = 'Аутсорс' THEN 
    avg_time 
END AS `Аутсорс` 
FROM 
    (
     SELECT 
      department, 
      (sum(apruv)/count(*) * 100) AS avg_time 
     FROM 
      report_designer 
     WHERE TIMESTAMPDIFF(
      MINUTE, 
      createdtime_spec, 
      first_status_change 
     ) <= 15 
     GROUP BY 
      department 
    ) x 

結果はresult

どのように私は、クエリの結果からNULL値を削除することができますか?一行のみが残るように

+0

一貫性のない値を返すこと。例えば。部門が「null」のPOを有するが、「EC」を含まない場合、上記の変換を適用すると、間違った「PO」の値を返さない。 –

答えて

1

一つの方法は、使用することです。

SELECT 
    (SELECT (sum(apruv)/count(*) * 100) AS avg_time 
    FROM report_designer 
    WHERE TIMESTAMPDIFF(MINUTE,createdtime_spec,first_status_change) <= 15 
     AND department = 'РФ') AS `РФ`, 
    (SELECT (sum(apruv)/count(*) * 100) AS avg_time 
    FROM report_designer 
    WHERE TIMESTAMPDIFF(MINUTE,createdtime_spec,first_status_change) <= 15 
     AND department = 'EC') AS `EC`, 
    (SELECT (sum(apruv)/count(*) * 100) AS avg_time 
    FROM report_designer 
    WHERE TIMESTAMPDIFF(MINUTE,createdtime_spec,first_status_change) <= 15 
     AND department = 'Аутсорс') AS `Аутсорс`; 
関連する問題