-3
我有一個查詢使用子查詢兩次來獲得If else條件中的結果,因爲我無法首先保存結果在條件下評估。我怎樣才能優化查詢任何幫助,我會感激。需要優化查詢以避免子查詢在if if條件中的查詢中進行兩次求值
SELECT
IF(
(SELECT
CONVERT(IFNULL(SUM(T.hours), 0) , DECIMAL (10 , 2)) As Val
FROM
time_entries T
JOIN
Issues IU2 ON (t.issue_id = IU2.Id)
Where
IU2.id = IU.Id) <> 0,
(SELECT
CONVERT(IFNULL(SUM(T.hours), 0) , DECIMAL (10 , 2)) As Val
FROM
time_entries T
JOIN
Issues IU2 ON (t.issue_id = IU2.Id)
Where
IU2.id = IU.Id),
99
) AS NotCovered
FROM
issues IU
Join
custom_values CV ON (IU.project_id = CV.customized_id
AND CV.value = '')
where
IU.done_ratio <> 100;
你能解釋一下爲什麼你的查詢做的是什麼嗎?真的不清楚你爲什麼使用子查詢兩次。 – Takarii
我們是否應該假設它僅僅是*粗心*你誤導了你的代碼格式? –
無論如何,如果你想要優化你的查詢的好答案,那麼你應該提供你的表格的細節。 –