在oracle数据库中,有一个表,有三列,A B C,有三行数据,现在要求写一个sql,把第一列变成第一行,

第二列变成第二行,第三列变成第三行!求解...... 第二列变成第二行,第三列变成第三行!求解... 展开
 我来答
永恒谷爱恋
2012-03-07 · TA获得超过290个赞
知道答主
回答量:155
采纳率:0%
帮助的人:68.5万
展开全部
这是oracle的列转行问题 可以使用oracle的一个函数 行转列组合函数实现 也可以使用decode函数、case when函数实现 再有就是用临时表实现。。。。
追问
大哥别光说啊,我要知道函数怎么写不就不问了么,麻烦你写个例子啊
追答
对你问题的理解:
CREATE TABLE TEST_TAB(A VARCHAR2(10),A_VALUE NUMBER,B VARCHAR2(10),B_VALUE NUMBER,C VARCHAR2(10),C_VALUE NUMBER);
INSERT INTO TEST_TAB VALUES('语文','90','数学','68','政治','24');
INSERT INTO TEST_TAB VALUES('语文','70','数学','98','政治','84');
INSERT INTO TEST_TAB VALUES('语文','45','数学','78','政治','96');
COMMIT;
解决方案:
CREATE TABLE TEST_TAB_COL(T_NAME VARCHAR2(10),T_COL VARCHAR2(10));
INSERT ALL /*+APPEND*/
INTO TEST_TAB_COL
VALUES
(A, A_VALUE) INTO TEST_TAB_COL
VALUES
(B, B_VALUE) INTO TEST_TAB_COL
VALUES
(C, C_VALUE)
SELECT T.A, T.A_VALUE, T.B, T.B_VALUE, T.C, T.C_VALUE FROM TEST_TAB T
jxymnet
2012-03-06 · 超过19用户采纳过TA的回答
知道答主
回答量:77
采纳率:25%
帮助的人:25.4万
展开全部
假设你的表结构是tb_name(id, remark),则语句如下:

SELECT
a.id,
wm_concat (a.remark) new_result
FROM
tb_name a
group by
a.id
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式