guest 表                                  t_wm_sheet_master
编号        名称1                          编号         名称2            数量
supcust_no  sup_name                      supcust_no   item_name   stock_qty
1             a                            1             b           1
2             a1                           2             b1          2
3             a3                           3             b3          3
其中   t_wm_sheet_master表supcust_no是guest的外键
结果是名称2   a a1 a3  
b       1  0  0    
b1      0  2  0
b3      0  0  3
请问如何实现啊 

解决方案 »

  1.   

    楼主可以看看这个
    http://www.java2000.net/p274
    希望对你有帮助
      

  2.   

    研究透这个帖子,以后就不愁了:
    行列转换的通用过程 by wildwave
    http://topic.csdn.net/u/20100109/13/6a10c168-f190-4766-b838-adbf03c4ac7b.html?64786
      

  3.   


    有个问题,如果把行转列,但的行的数据是不固定的,在java代码中又如何提取列的数据呢
      

  4.   

    数组a的长度不知道,可以用a.length表示数组a的长度.
      

  5.   

    在程序中先找出guest表中所有符合条件的sup_name
    select distinct sup_name from guest  where.........
    然后程序遍历这个resultsetData并拼接sql
    select t.item_name, sum(case g.sup_name when resultsetData[0] then t.stock_qty end ) as sup_name1, ...from guest g
    left join t_wm_sheet_master  t on g.supcust_no=t.supcust_no
    where ....
    group by t.item_name
    注意两个where过滤条件必须相同