Oracle SQL中的动态枢轴..枢轴(B(X)的和(A)现在B是数据类型varchar2,X是由逗号分隔的varchar2值的字符串。X的值是从同一表的列(例如CL)中选择的不同值。这种方式枢轴查询工作。但问题是,每当列CL中出现新值时,我必须手动将其添加到字符串X中。我尝试用从CL中选择的不同值替换X。但是查询没有运行。我之所以感觉到这一点,是因为为了替换X,我们需要用逗号分隔值。然后,我创建了一个函数来返回与字符串X匹配的精确输出,但是查询仍然没有运行。所显示的错误信息有“丢失的右副词”、“文件的结束通信通道”等。我尝试了PiptXML,而不仅仅是Pivot,查询会运行,但是会给出oraxxx等没有值的vlaue。也许我没有好好利用它。你能告诉我一些方法来创建一个具有动态值的枢轴吗?
3 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
IN
子查询仅与XML关键字一起使用。指定子查询时,子查询找到的所有值都用于旋转。
select xmlserialize(content t.B_XML) from t_aapivot xml(sum(A) for B in(any)) t;
ANY
select xmlserialize(content t.B_XML) from t_aapivot xml(sum(A) for B in (select cl from t_bb)) t;
添加回答
举报
0/150
提交
取消