ฉันมีรหัส 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 etc หรือไม่
—
wtjones