将具有重复节点的XML数据加载到Teradata表的不同行中
我有一个XML数据,格式如下:将具有重复节点的XML数据加载到Teradata表的不同行中,xml,xpath,teradata,xmltable,Xml,Xpath,Teradata,Xmltable,我有一个XML数据,格式如下: <Customer> <Name>John Hancock</Name> <Address>100 1st Street, San Francisco, CA 94118</Address> <Phone>(858)555-1234</Phone> <Phone>(858)555-9876</Phone> <Fax>(858)555-9999&l
<Customer>
<Name>John Hancock</Name>
<Address>100 1st Street, San Francisco, CA 94118</Address>
<Phone>(858)555-1234</Phone>
<Phone>(858)555-9876</Phone>
<Fax>(858)555-9999</Fax>
<Email>John@somecompany.com</Email>
</Customer>
这会给出如图所示的结果,并附加电话字段
我想把第二部电话搬到新的一排。是否可以使用Xpath查询执行此类操作?感谢您找到了解决方案,并与面临类似问题的其他人分享
SELECT X.*
FROM (SELECT * FROM VMTEST.customer WHERE customerID = 2) AS C,
xmltable('Customer/Phone' passing c.customerXML
Columns "NAME" varchar(255) path '../Name',
Address varchar (255) path '../Address',
Phone varchar (255) path '.'
)
as X
SELECT X.*
FROM (SELECT * FROM VMTEST.customer WHERE customerID = 2) AS C,
xmltable('Customer/Phone' passing c.customerXML
Columns "NAME" varchar(255) path '../Name',
Address varchar (255) path '../Address',
Phone varchar (255) path '.'
)
as X