关于sql 列转行,总是提示标识符无效

这个是代码WITHAAS(SELECTP_ID,NAMEFROMA_TEST_PERSONT),WITHBAS(SELECTORDERPRICE,CUSTOMER_ID,... 这个是代码 WITH A AS (SELECT P_ID,NAME FROM A_TEST_PERSON T),WITH B AS (SELECT ORDERPRICE, CUSTOMER_ID,O_ID FROM A_TEST_ORDERS O)SELECT NAME,产品1,产品2,产品3,产品4,产品5,产品6,产品7,产品8,产品9,产品10,产品11,产品12,SUM(to_number(ORDERPRICE)) AS PRICETOTALFROM A,BPIVOT (MAX(ORDERPRICE) FOR O_ID IN('产品1' AS 产品1,'产品2' AS 产品2,'产品3' AS 产品3,'产品4'AS 产品4,'产品5' AS 产品5,'产品6' AS 产品6,'产品7' AS 产品7,'产品8' AS 产品8,'产品9' AS 产品9,'产品10' AS 产品10,'产品11' AS 产品11,'产品12' AS 产品12)) 展开
 我来答
ssplus
2016-05-21 · TA获得超过112个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:126万
展开全部
Pivot的规则是:
任何仅在pivot子句中的引用的列,不能用在select列表中,
任何仅在pivot for子句中引用的列,不能用在select列表中。

从执行顺序来讲,先pivot,再select,你的pivot里面的MAX(ORDERPRICE)会变成 产樱逗品1_MAX,产品2_MAX等,select自然会告诉你标告竖识符无效,你也不应该写它,还有脊友卖就是那些产品1,产品2也不用写的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式