如有如下表格: 仓库库存表(inventory) 仓库名称(name) 仓库库存(stock) 月份(month) A 10
如有如下表格:
仓库库存表(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 仓库名称;