如有如下表格:
仓库库存表(inventory)
仓库名称(name)
仓库库存(stock)
月份(month)
A
100
1
B
200
1
C
300
1
A
1000
2
B
2000
2
C
3000
2
行列互换为以下表格:
仓库名字(name)
一月份
二月份
A
100
1000
B
200
2000
C
300
3000
MySQL数据库行列互换:
使用if语句判断: if(表达式,v1,v2)
表达式为:
select
仓库名称,
max(判断 月份=1 显示库存),
max(判断 月份=2 显示库存),
max(判断 月份=3 显示库存)
from 表名
group by 仓库名称;
注意:关于max这个也可以其他的,这里只是用作判断的嵌套。sum等也可以。
具体实现:
select name as 仓库名称,max(if(month='1’,stock,0)) as 一月份,max(if(month='2',stock,0)) as 二月份 from inventory group by 仓库名称;