当节点不存在时的XQuery

时间:2011-04-08 19:36:18

标签: xquery xquery-sql

在下面的XQuery语法中,我在最后一个表中添加了一个CROSS APPLY,它似乎过滤掉了一些记录。这似乎是这种情况,因为定义的节点是可选的。我认为我的代码会导致相当于LEFT OUTER JOIN,但它的行为就像一个INNER。

FROM   
      xxx_XML CROSS APPLY 
      XmlData.nodes('/reports/report/xxx-report') AS xxx(pref) CROSS APPLY
      pref.nodes('summary') AS Summary(sref) CROSS APPLY
      pref.nodes('data/proj-title/title-code') AS Title(tref) 

有没有更好的方法来解决这个问题?

1 个答案:

答案 0 :(得分:2)

  

我认为我的代码会导致   相当于LEFT OUTER JOIN,   但它表现得像INNER。

如果您希望apply的行为类似于外部联接,则可以使用outer apply