Example of an SQL Query (in a view) that uses XPath to report on XML elements in an XML column:
CREATE VIEW [dbo].[ViewEventLog]
AS SELECT id, eventDateTime,
CAST(TMXML.query('//Source/requestor/text()') AS varchar(50)) AS requestor,
CAST(TMXML.query('//Source/requestType/text()') AS varchar(50)) AS requestorType,
CAST(TMXML.query('//Source/objectId/text()') AS varchar(40)) AS objectId,
CAST(TMXML.query('//Source/objectType/text()') AS varchar(24)) AS objectType,
CAST(TMXML.query('//Source/transactionGuid/text()') AS varchar(40)) AS transactionGuid,
CAST(TMXML.query('//Source/dateTimeReceived/text()') AS varchar(40)) AS dateTimeReceived,
CAST(TMXML.query('//Source/isResponseExpected/text()') AS varchar(5)) AS isResponseExpected,
CAST(TMXML.query('//policyName/text()') AS varchar(24)) AS policyName,
CAST(TMXML.query('//*[local-name()="Itinerary"]/status/text()') AS varchar(24)) AS itineraryStatus,
CAST(TMXML.query('//currentStepName/text()') AS varchar(24)) AS currentStepName,
CAST(TMXML.query('//currentStepStatus/text()') AS varchar(24)) AS currentStepStatus,
CAST(TMXML.query('//currentStepIndex/text()') AS varchar(10)) AS currentStepIndex,
CAST(TMXML.query('//currentErrorType/text()') AS varchar(24)) AS currentStepErrorType,
CAST(TMXML.query('//currentProcessCode/text()') AS varchar(40)) AS currentStepProcessCode,
CAST(TMXML.query('//*[local-name()="Exceptions"]/*[local-name()="Exception"][1]/messageText/text()') AS varchar(MAX)) AS exceptionMessageText,
CAST(TMXML.query('//*[local-name()="Exceptions"]/*[local-name()="Exception"][1]/source/text()') AS varchar(60)) AS exceptionSource,
CAST(TMXML.query('//*[local-name()="Exceptions"]/*[local-name()="Exception"][1]/stackTrace/text()') AS varchar(MAX)) AS exceptionStatckTrace,
CAST(TMXML.query('count(//*[local-name()="TMXML" and namespace-uri()="http://TMAC.BizTalk.ESB.TMXML.Schemas.TMXML_1_0"]/*[local-name()="Messaging" and namespace-uri()="http://TMAC.ESB.BizTalk.Schemas.Canonicals.Messaging_1_0"]/*[local-name()="Loans" and namespace-uri()="http://TMAC.BizTalk.ESB.TMXML.Canonicals.Loans_1_0"]/*[local-name()="Loan" and namespace-uri()="http://TMAC.BizTalk.ESB.TMXML.Canonicals.Loan_1_0"])') AS varchar(6)) AS countLoans
FROM dbo.Event
The table was created something like this:
CREATE TABLE [dbo].[Event]
( [id] [int] IDENTITY(1,1) NOT NULL,
[eventDateTime] [datetime] NOT NULL,
[Requestor] [varchar](50) NULL,
[RequestType] [varchar](60) NULL,
[TMXML] [xml] NOT NULL) ON [PRIMARY]
Note that TMXML is defined as an XML column (with no schema specified).

