Không chắc liệu tôi đã hoàn toàn hiểu câu hỏi của bạn ở đây - hay bạn đang tìm kiếm điều này? Bạn sẽ lấy tất cả các phần tử / things / Fruit thành một "nút" và nối chéo chúng với "dữ liệu cơ sở" của bạn trong myTable - kết quả sẽ là một hàng cho mỗi phần tử XML trong trường dữ liệu XML của bạn:
select
omID,
T.Fruit.query('.')
from
dbo.myTable
cross apply
omText.nodes('/things/Fruit') as T(Fruit)
where
T.Fruit.value('(title)[1]', 'varchar(50)') = 'X'
select
count(*)
from
dbo.myTable
cross apply
omText.nodes('/things/Fruit') as T(Fruit)
where
T.Fruit.value('(imageId)[1]', 'int') = 55
Đó có phải là những gì bạn đang tìm kiếm không?
Marc