在Oracle数据库中有一张表 Userinfo 包含字段username,uservcard..用户名是唯一的。其中uservcard是xmltype类型,保存一个xml。
内容如下:
<iq id="e6KRS-5" from="[email protected]" type="get">
 <Card xmlns='vcard'/>
<FN>JOON</FN>
<URL>http://baidu.com</URL>
<TITLE>java E</TITLE>
<NICKNAME>山刀浪子</NICKNAME>
<ADR>
    <WORK/>
    <PCODE>510000</PCODE>
    <CTRY>中国</CTRY>
    <LOCALITY>广州</LOCALITY>
</ADR>
<ADR>
    <HOME/>
    <PCODE>417700</PCODE>
    <CTRY>美国</CTRY>
    <LOCALITY>纽约</LOCALITY>
</ADR>
 </Card>
</iq>
其中 <WORK/>代表的是工作地址, <HOME/>代表的是家庭地址,<NICKNAME>代表昵称。
现要以用户名,昵称,工作地点和工作城市作为查询条件,写一条select语句实现如下结果:USERNAME  NICKNAME    CTRY   LOCALITY
test1  山刀浪子    中国    广州
test2  小龙女      中国    长沙请问各位前辈怎么写?分不多,结贴全给上,谢谢!

解决方案 »

  1.   

    补充一下,上面的xml这里<Card xmlns='vcard'/>应该是这样的<Card xmlns='vcard'>没有结束符。
    另外在返回的结果里CTRY和LOCALITY指的都是工作地址,家庭地址不需要,查询条件也是用工作地址作条件。
      

  2.   

    那个</Card>节点应该是这样<Card xmlns="vcard">  还有哪里不规范?
      

  3.   

    不好意思还少了一个头 <?xml version = "1.0" encoding = "UTF-8"?>
    请问还有哪里规范吗?
      

  4.   

    你的home元素只有<home/>? 没有<home>,<work/>也一样自己检查一下吧,保存为.xml,然后在ie中打开
      

  5.   

    我修改了一下,现在这个文件在IE下是能打开的了
     <?xml version = "1.0" encoding = "GBK"?>
    <iq id="e6KRS-5" from="[email protected]" type="get">
     <Card xmlns="vcard">
    <FN>JOON</FN>
    <URL>http://baidu.com</URL>
    <TITLE>java E</TITLE>
    <NICKNAME>山刀浪子</NICKNAME>
    <ADR>
    <WORK/>
    <PCODE>510000</PCODE>
    <CTRY>中国</CTRY>
    <LOCALITY>广州</LOCALITY>
    </ADR>
    <ADR>
    <HOME/>
    <PCODE>417700</PCODE>
    <CTRY>美国</CTRY>
    <LOCALITY>纽约</LOCALITY>
    </ADR>
     </Card>
    </iq>前辈说的<WORK/>和<HOME/>是这样写的没有属性也没子节点。 在IE下能打开。
    现在回到问题上来吧,急!!