表有4列a,b,c,d其中a有一组记录,每组有记录,每组b有c和d值。 如何使用Oracle xml sql生成以下结果?所有示例都涉及到emp表,只有1个“员工”分组。如果还有一个分组需要例如“城市”会怎么样? 谢谢。Oracle xml sql在2组的情况下
<GROUP_A>
<a val="1">
<Group_B>
<b val="1">
<Group_C>
<C>
<c>1</c>
<d>1</d>
</C>
<C>
<c>2</c>
<d>2</d>
</C>
</Group_C>
</b>
<b val="2">
<Group_C>
<C>
<c>1</c>
<d>1</d>
</C>
<C>
<c>2</c>
<d>2</d>
</C>
</Group_C>
</b>
</Group_B>
</a>
<a val="2">
<Group_B>
<b val="1">
<Group_C>
<C>
<c>1</c>
<d>1</d>
</C>
<C>
<c>2</c>
<d>2</d>
</C>
</Group_C>
</b>
<b val="2">
<Group_C>
<C>
<c>1</c>
<d>1</d>
</C>
<C>
<c>2</c>
<d>2</d>
</C>
</Group_C>
</b>
</Group_B>
</a>
</GROUP_A>
OP试过这种
SELECT XMLElement("Group_A", XMLAttributes(a AS "a"),
Xmlagg(XMLELEMENT ("Group_b", XMLAttributes(b AS "b"),
XMLELEMENT ("c",c), XMLELEMENT ("d",c))))
FROM table
GROUP BY a
嘛,你尝试过什么? – OldProgrammer
我尝试这样做:SELECT的XMLElement( “Group_A”, XMLATTRIBUTES(一个为 “A”), XMLAGG(XMLELEMENT( “Group_b”, XMLATTRIBUTES(B为 “B”), XMLELEMENT( “C”,C) , XMLELEMENT( “d”,C) ) ) ) FROM表 GROUP BY一个 – user3358291