이 tSQL 코드가 제대로 작동합니다.
SELECT
c.logguid,
a.b.value('./PropertyValue', 'varchar(max)') asd
FROM [dnn].[dbo].[EventLog2] c
cross apply sss.nodes('/LogProperties/LogProperty[PropertyName=sql:variable("@x") and PropertyValue=sql:variable("@y")]') as a(b)
그러나 내가 할 수있는 것은 각 값 사이에 OR 인 많은 값 쌍의 동적 목록을 전달하는 것입니다.
SELECT
c.logguid,
a.b.value('./PropertyValue', 'varchar(max)') asd
FROM [dnn].[dbo].[EventLog2] c
cross apply sss.nodes(
'/LogProperties/LogProperty[PropertyName=sql:variable("@x") and PropertyValue=sql:variable("@y")
or
PropertyName=sql:variable("@a") and PropertyValue=sql:variable("@b")
]'
) as a(b)
이 방법이 있습니까?
1
내가 이해하기 위해 @c와 @d 등이있을 수 있습니까?
—
wtjones