इसके बारे में क्या?
SELECT
EventID, EventTime,
AnnouncementValue = t1.EventXML.value('(/Event/Announcement/Value)[1]', 'decimal(10,2)'),
AnnouncementDate = t1.EventXML.value('(/Event/Announcement/Date)[1]', 'date')
FROM
dbo.T1
WHERE
t1.EventXML.exist('/Event/Indicator/Name[text() = "GDP"]') = 1
यह उन सभी पंक्तियों को ढूंढेगा जहां /Event/Indicator/Name
बराबर GDP
और फिर यह <Announcement>/<Value>
. प्रदर्शित करेगा और <Announcement>/<Date>
उन पंक्तियों के लिए।
देखें SQLFiddle डेमो