现有一张表,内容如下:
ID NAME A
1 张三 a
1 张三 b
2 李四 a
3 王五 a
3 王五 b
3 王五 c通过查询得出如下结果:
ID NAME A
1 张三 a,b
2 李四 a
3 王五 a,b,c要达到这种查询结果,语句应该怎么写?
ID NAME A
1 张三 a
1 张三 b
2 李四 a
3 王五 a
3 王五 b
3 王五 c通过查询得出如下结果:
ID NAME A
1 张三 a,b
2 李四 a
3 王五 a,b,c要达到这种查询结果,语句应该怎么写?
group by id,name
select id,name,wmsys.wm_concat(A) A from table
group by id,name
我用的PL/SQL Developer进行查询操作。
group by ope_id,card_stateid-------------------------------------------------------------
ope_id a card_stateid
1 11228432 6
2 11228443 6
3 11228442 6
4 101,110,109,108,107,106,105,104,103,102 4
5 111 1
group by ope_id,card_stateid-------------------------------------------------------------
ope_id a card_stateid
1 11228432 6
2 11228443 6
3 11228442 6
4 101,110,109,108,107,106,105,104,103,102 4
5 111 1
CREATE TABLE foo(
fooid NUMBER(20),
fooname VARCHAR2(20),
foobar VARCHAR2(20)
);
INSERT INTO foo VALUES('1','张三','a');
INSERT INTO foo VALUES('1','张三','b');
INSERT INTO foo VALUES('2','李四','a');
INSERT INTO foo VALUES('3','王五','a');
INSERT INTO foo VALUES('3','王五','b');
INSERT INTO foo VALUES('3','王五','c');SELECT * FROM foo;SELECT foo.fooid,foo.fooname,
MAX(CASE WHEN foo.foobar='a' THEN foo.foobar END) AS A,
MAX(CASE WHEN foo.foobar='b' THEN foo.foobar END) AS B,
MAX(CASE WHEN foo.foobar='c' THEN foo.foobar END) AS C
FROM foo
GROUP BY foo.fooid,foo.fooname
ORDER BY 1