php
  • mysqli
  • 2017-06-11 23 views -2 likes 
    -2

    我有一個包含兩個字段accept和waitlist的申請人列表。對於每個字段的接受和等待列表,可能的值爲空白(尚未考慮),是(接受或等待列表)或否(拒絕)。如何在SELECT語句中使用!= with OR

    我想提取一個顯示以顯示申請人列表,其中等待列表和接受中的一個或兩個都設置爲「是」。以下是我想要的。

    $query = "SELECT * FROM applicants WHERE waitlist = 'Yes' OR accept = 'Yes' ORDER BY lname,fname ASC"; 
    

    我也想顯示誰尚未考慮或已被拒絕如此候補名單的值的申請人名單或接受爲空或「否」。以下是對第一條語句的一個明顯修改,並沒有消除任何人。

    $query = "SELECT * FROM applicants WHERE accept != 'Yes' OR waitlist != 'Yes' ORDER BY lname,fname ASC"; 
    

    如果我消除OR語句,我至少可以看到那些沒有被接受的列表。修改查詢以使選擇正確,即。

    $query = "SELECT * FROM applicants WHERE accept = 'No' OR accept = '' OR waitlist = 'No OR waitlist = '' ORDER BY lname,fname ASC"; 
    

    適用於接受或等候名單,但如果包含這兩個字段只會導致顯示所有申請人。

    我敢肯定這已被問過,但我找不到它。

    +0

    其實,對於有人被'不考慮',他們必須都不被接受**和**不等候上市,對? – FirstOne

    +0

    我很難過。你可以發佈樣本數據/模式與你得到的結果和你想要的結果嗎? –

    +0

    是的,表結構將非常讚賞。 – FirstOne

    回答

    0

    問題是當你想使用AND時,你正在使用OR。

    SELECT * FROM applicants WHERE accept != 'Yes' OR waitlist != 'Yes'; 
    

    我接受,我不是在輪候名單上。 - > waitinglist ==''所以我返回

    我在等待名單上,我還沒有被接受。 - >接受==''所以我也重新調整

    我不在等候名單上,我也沒有被接受。 - >接受== '' AND waitinglist == '',所以我也重新調整

    而是使用AND

    SELECT * FROM applicants WHERE accept != 'Yes' AND waitlist != 'Yes'; 
    

    案例:

    我接受了,我我不在等候名單上。 - > waitinglist ==''所以我不退還

    我在等待名單上,我還沒有被接受。 - >接受==''所以我也沒有重新調整

    我不在等候名單上,我也沒有被接受。 - >接受==''和等待名單==''所以我重新調整

    +0

    以下所有答案是我還希望列表向接受=='否'的申請人展示,以便處理這些信息的人可以從列表中識別出他們。 Chaps部是正確的,該候補名單隻需要兩個狀態,空白或是,因爲肯定不被接受的人不會被列入等候名單。有了這些數據更正和使用AND而不是OR –

    +0

    如下$ query =「SELECT * FROM applicants WHERE accept!='Yes'AND waitlist =''」;我得到了我想要的顯示。謝謝你們。 –

    相關問題