繁体   English   中英

我如何循环查询?

[英]How could i loop this query?

我在Oracle中有以下sql查询。

SELECT pr.uuid AS masterproductid, 
            (case 
                when xmltype(pr.attributes_de_de).extract('//attr[@name = "SellingPoint1"]/string/text()') IS NOt NULL THEN 'sellingpoint1'
                when xmltype(pr.attributes_de_de).extract('//attr[@name = "SellingPoint2"]/string/text()') IS NOt NULL THEN 'sellingpoint2'
            END
            ) as testt
  FROM product pr WHERE pr.defaultproductvariationid =(SELECT prv.uuid FROM  productvariation prv WHERE  prv.uuid = '3rep_vEBP6IAAAE83REjnPbb' AND pr.typecode='16')

在这种情况下,当'sellingpoint1'和'sellingpoint2'都不为空,但是此查询仅返回Sellingpoint1时,我想要'sellingpoint2',我又该如何获得呢?

感谢帮助

这将其分为两列:

SELECT pr.uuid AS masterproductid, 
            (case when xmltype(pr.attributes_de_de).extract('//attr[@name = "SellingPoint1"]/string/text()') IS NOt NULL
                 THEN 'sellingpoint1'
             end) as testsellingpoint1,
            (case when xmltype(pr.attributes_de_de).extract('//attr[@name = "SellingPoint2"]/string/text()') IS NOt NULL
                  THEN 'sellingpoint2'
             END
            ) as testsellingpoint2
  FROM product pr WHERE pr.defaultproductvariationid =(SELECT prv.uuid FROM  productvariation prv WHERE  prv.uuid = '3rep_vEBP6IAAAE83REjnPbb' AND pr.typecode='16')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM