SQL Oracle,结合然后案例

时间:2016-06-16 16:34:18

标签: mysql oracle case concat

我期待

1)CONCAT 2字段
2)使用case语句使我的连接字段只留下相关结果

实施例

Colour Item  Quantity
Blue   Socks 1
Brown  Shoes 2
Black  Tie   3

我正在寻找

Concat(Colour,Item)    Quantity
BlueSocks              1
Others                 5

我可以使用CASECONCAT,但无法让CASE引用CONCAT字段。

1 个答案:

答案 0 :(得分:0)

目前尚不清楚为什么蓝色袜子应该连接而不是其他行,但为了在你的例子中得到结果,你可以这样做:

select 
    case 
       when colour = 'Blue' and item = 'Socks' then concat(colour, item) 
       else 'Other' 
    end as Item, 
    sum(quantity) as Quantity
from t -- your table here
group by 
    case 
       when colour = 'Blue' and item = 'Socks' then concat(colour, item) 
       else 'Other' 
    end

如果您不想在select和group by子句中重复case表达式,可以将它包装在派生表或公用表表达式中。