1
자식 노드의 값에 따라 XML에서 값을 선택하려면 WHERE 절을 쓸 수 있습니까?SQL을 통해 WHERE 절을 사용하여 XML 하위 노드 쿼리
예 XML
<Message>
<PrimaryKeyValue>12345</PrimaryKeyValue>
<Events>
<UpdatedDefaultAddress>True</UpdatedDefaultAddress>
<UpdatedCustomerName>False</UpdatedCustomerName>
</Events>
</Message>
<Message>
<PrimaryKeyValue>67890</PrimaryKeyValue>
<Events>
<UpdatedDefaultAddress>False</UpdatedDefaultAddress>
<UpdatedCustomerName>True</UpdatedCustomerName>
</Events>
</Message>
내 질문
하는 방법은 <UpdatedDefaultAddress>
의 값이 '참'이다 PrimaryKeyValues를 선택하는 쿼리를 만들 것인가?
내 현재 코드
SELECT
t.c.value('(PrimaryKeyValue)[1]', 'varchar(100)') AS PrimaryKeyValue
FROM @message_body.nodes('Message') as T(C)
WHERE t.c.exist('./Events/UpdateDefaultAddress') = 'True'
나는 결과에 다시 모두 PrimaryKeyValues를 얻을이의 문제는 - 내가 코드가 <UpdatedDefaultAddress>
이 있는지 여부를 확인하는 생각이 아니라 그 안에 포함 된 값보다?