SQL查詢要求兩個條件同時成立

2021-06-18 04:00:06 字數 393 閱讀 5443

表裡面兩個狀態,乙個是訂單狀態:未處理,處理中,已處理。乙個是付款狀態:未付,已付,已退。

現在要求把同時滿足「已處理」和「已付」的記錄不顯示出來。

select * from [table] where o_state<>"已處理" and o_pay<>"已付"

事實表明這樣會把所有「已處理」和「已付」的訂單全部過濾掉,不管另乙個狀態是什麼。但是如果是反過來查詢已處理和已付的訂單,把不等號換成等號即可,這個簡單。

從網上找了個思路,改了下,還不錯:

select * from [table] 

where case when o_state='已處理' and o_pay='已付' then 0 else 1 end=1

結束。

條件查詢 根據行 列兩個條件查詢值

原始資料如圖1,要查詢行與列同時符合條件的數值,如圖2的i列。圖 1 圖 2方法一 index和match雙劍合璧 要想知道某個資料是一列或一行資料中的第幾個,可以用match函式,它可以輕鬆確定某個資料在其所屬行與列中的位置,語法結構如下 第三引數為0時,查詢查詢值首次出現的位置。index函式是...

兩個SQL技巧 排序和條件判斷

利用虛擬列完成置頂等特定排序 將狀態為2的人,置頂。select name,age,state,decode state,2,1,0 as flag from table1 where order by flag desc 通過decode方式增加一列虛擬列,使當state為2的時候,flag值為1...

kibana 寫兩個查詢條件 kibana查詢語法

2 如果不帶引號,將會匹配每個單詞 uid token 4 匹配0到多個字元 oken 5 匹配單個字元 tok?n 7 運算子and or not必須大寫 token and uid token or uid not uid 8 允許乙個字段值在某個區間 包含該值,不包含 version 1 to...