日期:2014-05-17  浏览次数:20442 次

求sql 字符类型 交叉表 向上并排
本帖最后由 jmadson 于 2013-09-06 08:20:23 编辑
求sql 字符类型 交叉表 向上并排

TEST表:
单号(sfd04)   款号(sfd05)      生产车间(sfd06)
X9372-W       W11813MP         01
X9372-W       W13024MF         01
X9372-W       W15180BE         02
X9372-W       W15431L         02
X9372-W       W15431L1         02
X9372-W       W52483EV         03
X9372-W       W54079AC         03
X9372-W       W54196K         04

通过以下语句生成交叉表
select sfd04,
case when sfd06='01' then sfd05 else '' end [01],
case when sfd06='02' then sfd05 else '' end [02],
case when sfd06='03' then sfd05 else '' end [03],
case when sfd06='04' then sfd05 else '' end [04] 
from sfd_file group by sfd04,sfd05,sfd06

单号      01车间          02车间           03车间           04车间
X9372-W   W11813MP
X9372-W   W13024MF
X9372-W                  W15180BE
X9372-W                 W15431L
X9372-W                 W15431L1
X9372-W                                        W52483EV
X9372-W                                        W54079AC
X9372-W                                                               W54196K