我想查詢一個表,其中包含直xml數據的列。在查詢中,我正在查詢包含直接數據的列(int,vchar等),但我也在查詢xml列。在xml列中,我想要在xml中獲取一個值,如果它不存在,則返回null。我有以下查詢幾乎可以工作,但返回重複。需要幫忙!SQL查詢/ Xml
我有我的根xml CodeFiveReport然後在它的屬性,並在該屬性中有一個序列號。我試圖抓住序列號,如果它存在並顯示它。
select Distinct rs.Id
, rs.CaseNumber
, rs.StartDate
, rs.[Status]
, rs.PatrolDistrict
, rs.PrimaryUnit
, rs.Location
, rs.ReportType
, rs.IncidentType
, rs.UserId
, rs.UnitId
, rs.UnitCode
, rs.IsLocked
, rs.LockedBy
, rs.AgencyId
, rl.ReportName
, rl.ParentId
, TempTable.Party.value('(SerialNumber/text())[1]', 'varchar(50)') as SerialNumber
from dbo.vw_ReportSummary rs OUTER APPLY Report.nodes('/CodeFiveReport/Properties/Property') AS TempTable(Party)
left outer join dbo.ReportLookup rl on rs.Id = rl.Id
where rs.[Status] = 'Approved'
order by rs.Id
如果DISTINCT返回重複項,那些重複項並不重複 - 請檢查您的數據! – 2010-07-11 20:22:54
每個結果返回的序列號是不同的......我需要知道的是,如果特定記錄的xml包含任何序列號,而不是全部序列號。這是我無法想象如何去做的 – mint 2010-07-11 22:04:44