2013-03-19 49 views
0

我需要執行搜索,首先查找兩個變量(使用或),然後我需要比較使用和的那些。使用SQL在哪裏執行AND OR然後AND結果比較

所以這裏就是我基本上試圖以實現:

SELECT STUFF 
    FROM TABLE 
    WHERE Variable1 = 'value' 
    OR Variable2 = 'value2' 
    AND Variable3 like '%value3%' 
GO 

我基本上是試圖做第一,然後從語句的結果,我只需要添加匹配變量3 的結果,比如。任何幫助,將不勝感激。

謝謝。

+1

查看'Operator Precedence':http://dev.mysql.com/doc/refman/5.1/en/operator-precedence.html AND'優先於'OR',所以你必須使用括號(優先於AND) – aidan 2013-03-19 06:44:21

+0

根據你的實際查詢的樣子,你還需要知道系統*不會*在嚴格的,從左到右(或任何其他定義)的順序 - 它會以任何它認爲方便的順序對它們進行評估。如果後面的謂詞依賴於例如,如果數據類型不合適,則早期謂詞應該「防止」發生類型轉換。 – 2013-03-19 09:03:01

回答

2

簡單。

SELECT STUFF 
    FROM TABLE 
    WHERE (Variable1 = 'value' OR Variable2 = 'value2') 
    AND Variable3 like '%value3%' 

請記住,括號優先。