I have a SQL Table
CREATE TABLE [dbo].[MyObjects](
[Id] [bigint],
[Details] [xml])
content of XML column:
<Objects>
<List>
<e>
<Name>Standard bike</Name>
<Value>300</Value>
</e>
<e>
<Name>Super bike</Name>
<Value>1000</Value>
</e>
</List>
</Objects>
How do I select an object name with highest value?
This is as far as I went:
SELECT Id, objectDetails.e.value('(Name/text())[1]','varchar(max)') as 'most expensive object'
FROM MyObjects
CROSS APPLY MyObjects.Details.nodes('/Objects/List/e') objectDetails(e)
Ps. If you know more effitient way then CROSS APPLY then let me know