php
  • mysql
  • ajax
  • conditional
  • 2016-01-19 44 views -3 likes 
    -3

    我有一個表homeEamId和visitorTeamId列。MySQL使用AND OR條件

    我想要顯示的行,其中homeTeamId = 39或43 visitorTeamId = 39或43

    $sql ="SELECT * FROM game WHERE (homeTeamId='$_GET[homeTeamId]' or '$_GET[visitorTeamId]' and visitorTeamId='$_GET[homeTeamId]' or '$_GET[visitorTeamId]')"; 
    

    給我

    homeTeamName visitorTeamName visitorTeamId homeTeamId visitorTeamScore homeTeamScore date 
    
    barrard teamName0 39 43 0 0 2016 01/17 09:41 pm 
    teamName0 barrard 43 39 0 0 2016 01/17 10:18 pm 
    teamName0 barrard 43 39 0 0 2016 01/17 10:26 pm 
    

    不過,如果我使用像39和20的東西我得到完全相同的結果。

    我想這樣

    $sql ="SELECT * FROM game WHERE homeTeamId=('$_GET[homeTeamId]' or '$_GET[visitorTeamId]') and visitorTeamId=('$_GET[homeTeamId]' or '$_GET[visitorTeamId]')"; 
    

    和我沒有得到任何結果,

    感謝您的幫助。

    +0

    使用括號。 – Uueerdo

    +0

    '家裏隊伍IN(39,43)或者訪客隊伍IN(39,43)' –

    回答

    0

    試試這個:

    $sql ="SELECT * FROM game WHERE 
    (homeTeamId='$_GET[homeTeamId]' OR homeTeamId='$_GET[visitorTeamId]') 
    AND 
    (visitorTeamId='$_GET[homeTeamId]' OR visitorTeamId='$_GET[visitorTeamId]')"; 
    
    +0

    工程!感謝羅蘭! – Barrard

    0

    你應該嘗試這樣的事:

    $sql ="SELECT * FROM game WHERE (homeTeamId='$_GET[homeTeamId]' OR homeTeamId='$_GET[visitorTeamId]') AND (visitorTeamId='$_GET[homeTeamId]' OR visitorTeamId'$_GET[visitorTeamId]')"; 
    

    或根據您的文章使用較短的形式給出IN,張貼評論! 使用IN,您可以實現更復雜的查詢。

    使用:

    $sql = "SELECT * FROM game WHERE homeTeamId IN ('$_GET[homeTeamId]', 
         '$_GET[visitorTeamId]') AND visitorTeamId IN ('$_GET[homeTeamId]', 
         '$_GET[visitorTeamId]')"; 
    
    0

    MySQL的運營商有一個位次的。這意味着有些運營商會在其他運營商之前進行評估。

    我們可以使用圓括號來指定我們希望操作員評估的順序,以覆蓋默認順序。

    考慮:

    SELECT '0 AND 1 OR 1' AS cond, 0 AND 1 OR 1 
    UNION ALL 
    SELECT '(0 AND 1) OR 1' AS cond, (0 AND 1) OR 1 
    UNION ALL 
    SELECT '0 AND (1 OR 1)' AS cond, 0 AND (1 OR 1) 
    

    回報:

    cond   0 AND 1 OR 1 
    -------------- ------------ 
    0 AND 1 OR 1    1 
    (0 AND 1) OR 1    1 
    0 AND (1 OR 1)    0 
    
    相關問題