选择xml属性的唯一值

问题描述:

我有一个xml类型的一列临时表。选择xml属性的唯一值

我如何写一个SELECT查询列表属性“Z”

CREATE TABLE #TEST3 ([Data] XML) 

INSERT INTO #TEST3 VALUES ('<r><a z="1" /> <a z="2" /></r>') 

INSERT INTO #TEST VALUES ('<r><b z="2" /><b z="3" /></r>') 

INSERT INTO #TEST3 VALUES ('<r><c z="3"><c z="4" /></c></r>') 
+0

的所有唯一值仰望'DISTINCT'关键字 – Takarii

Select 
Distinct t.m.value('@z[1]', 'varchar(max)') ZAttribute 
From 
    #Test3 tempTable 
    Cross Apply tempTable.Data.nodes('/your/node/path/here') t(m) 
+1

虽然这个代码片断是值得欢迎的,并可以提供一些帮助,它会[如果包含解释](大大改进)(// meta.stackexchange.com/q/114762)* how *和* why *解决了这个问题。请记住,你正在为将来的读者回答这个问题,而不仅仅是现在问的人!请编辑您的答案以添加解释,并指出适用的限制和假设。 –