我想知道如何處理SQL比較而不重做語句中的相同查詢兩次。 以下是我在尋找:SQL:在相同的條件輸出中使用條件結果
SELECT columnName10,
IF(SELECT columnName20
FROM OtherExampleTable
WHERE id = 15 IS NULL, 'nothing', SELECT columnName20
FROM OtherExampleTable
WHERE id = 15
) AS AliasColumn
FROM ExampleTable
正如你所看到的,查詢SELECT columnName20 FROM OtherExampleTable WHERE ID = 15由2倍。
如何在不重複查詢的情況下做同樣的事情?
謝謝你們。
你想它,因爲可讀性/可維護性,或因的表現呢? –
,因爲做無用的編程對我來說是邪惡的:) 所以我猜的性能。 – Apex
您是否有實際的性能問題?因爲如果是這樣,請嘗試找到瓶頸並解決該問題。很多時候它不是你認爲的地方。如果您沒有性能問題,請不要嘗試修復它們。 [記住優化規則](http://c2.com/cgi/wiki?RulesOfOptimization)。這就是說,優化這個可讀性*是一個好主意,所以如果例如子查詢的WHERE子句發生變化,你只需要改變一個部分。 –