+ -
当前位置:首页 → 问答吧 → 求解啊~~~~

求解啊~~~~

时间:2011-12-09

来源:互联网

对联合主键的表。怎么把多行合并成列显示?

如下所示:

sNo gNo item  
1 1 桌子  
1 2 椅子
1 3 凳子
2 1 方巾
3 1 待定
4 1 待定
4 2 方巾

要达到的效果
-----------------------------
sNo item
1 桌子,椅子,凳子
2 椅子
3 待定
4 待定,方巾



表中 sno+gno是主键 求解。。谢谢!

作者: cuki20   发布时间: 2011-12-09

实测数据:
SQL code

CREATE TABLE T36
(
    sNo NUMBER(2),
    gNo NUMBER(2),
    Item VARCHAR2(20)
);
INSERT INTO T36 VALUES(1, 1, '桌子');
INSERT INTO T36 VALUES(1, 2, '椅子');
INSERT INTO T36 VALUES(1, 3, '凳子');
INSERT INTO T36 VALUES(2, 1, '方巾');
INSERT INTO T36 VALUES(3, 1, '待定');
INSERT INTO T36 VALUES(4, 1, '待定');
INSERT INTO T36 VALUES(4, 2, '方巾');



实测结果:

作者: LuiseRADL   发布时间: 2011-12-09

行转列基本上都是 group by与单分组函数结合。

作者: huangdh12   发布时间: 2011-12-09

oracle中这个wm_concat函数好啊,ms sql server中这种题就相对麻烦了

作者: sjcss   发布时间: 2011-12-09