SQL中行列转换小例一个

需求:

数据库存储形式

ftype 分别对应 盒 箱

需要查询出的格式为:

SQL语句:

select  a.*,b.counts,b.dw,c.counts ct, c.dw cdw,b.counts||b.dw||c.counts|| c.dw 
from ( select fname from t_test group by fname ) a
join (
select t.fname,count(t.ftype) counts,case t.ftype when '1' then '盒' when '2' then '箱' end as dw from t_test t 
where t.ftype='1'
group by t.fname, t.ftype
) b on  a.fname= b.fname
join (
select t.fname,count(t.ftype) counts,case t.ftype when '1' then '盒' when '2' then '箱' end as dw from t_test t 
where t.ftype='2'
group by t.fname, t.ftype
) c on a.fname = c.fname;

 这个就可以了。。可是还有几个缺陷

主要ftype 类型添加。语句就需要修改 拼接sql语句应该可以实现, 有空再次修改一下

转载于:https://www.cnblogs.com/xqaizx/archive/2013/01/05/2845312.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值