2011-12-28 83 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将概率是你最好的选择在这里尝试过,但没有得到我期待的结果。任何其他的方法可以做到这一点?

回答

相关问题