**有没有什么方法可以直接把中间两列变成行啊 **
不行的话
这是我在百度找的代码会报错提示 无效数字
SELECT T.COLUMN_NAME,
SUM(CASE T.COLUMN_NAME WHEN 'MORDERITEMID' THEN T.COMMENTS END) AS MORDERITEMID,
SUM(CASE T.COLUMN_NAME WHEN 'MORDERID' THEN T.COMMENTS END) AS MORDERID,
SUM(CASE T.COLUMN_NAME WHEN 'ORDERNO' THEN T.COMMENTS END) AS ORDERNO
FROM PLMBOMIMPORTCONFIG T GROUP BY column_name
用max()代替sum()
大兄弟,pivot了解下。行转列专用函数。
一看字段COMMENTS就是字符串啊,怎么能用sum函数,搞笑吧
使用max()代替sum()即可
vm_concat 函数 返回的是以逗号分割的行,然后再用regex_replace 函数把逗号替换成你需要的分隔符
oracle 11g之后提供了pivot和unpivot函数,用于进行行列转换。具体百度一下,有很多例子。字符串没法求和,不能用sum()。