2011-12-28 74 views
0

在MySql中有一種方法可以使用or或select列。例如選擇左(columnA,2)或右(columnA,1)

select left(columnA,2) or right(columnA,1) as columnAlias, sum(columnB) 
from table 
where ((left(columnA,2) in ('aa','bb','cc')) or (right(columnA,1) in ('a,','b','c'))) 
group by columnAlias 

我所擁有的是一個表,其中列的前2個字符或列的最後一個字符表示設施。我需要通過設施來總結這些值。聯合會讓我參與到那裏,然後我可以遍歷結果數據集並在代碼中進行總結(或者執行存儲過程以返回總和),但是我想知道是否有方法從查詢中獲取它。

我試過使用聯合查詢作爲一個在臨時表上,並做了選擇和組,但如果沒有記錄從任一選擇的統計返回,那麼它會拋出一個「列columnA不能爲null錯誤。

而且上面的語法通過查詢使用CASE將概率是你最好的選擇在這裏嘗試過,但沒有得到我期待的結果。任何其他的方法可以做到這一點?

回答

相關問題