Как я могу получить список родительского узла в XML с помощью SQL server?
Всем Привет,
Предположим, у меня есть таблица с типом данных xml. Рассмотрим приведенное ниже значение как данные в xml.
<Books> <Book ID="BK1"> <Pages> <Page ID="Home" /> <Page ID="Index" /> <Page ID="Introduction" /> </Pages> </Book> <Book ID="BK2"> <Pages> <Page ID="Home" /> <Page ID="Introduction" /> </Pages> </Book> <Book ID="BK3"> <Pages> <Page ID="Home" /> <Page ID="Index" /> <Page ID="Introduction" /> </Pages> </Book> <Book ID="BK4"> <Pages> <Page ID="Home" /> <Page ID="Introduction" /> </Pages> </Book> </Books>
Мне нужен список идентификаторов книг, для которых отсутствует идентификатор страницы=индекс? (Например, в книгах ID=BK2 и ID=BK4 отсутствует идентификатор страницы=индекс?
Выход:
BookId
БК2
БК4
Что я уже пробовал:
SELECT Data.Col.value('(@ID)[1]','Varchar(100)') AS Books FROM @x.nodes('/Books/Book/Pages/Page') AS Data(Col) WHERE @x.exist('(/Books/Book/Pages/Page[@ID = sql:variable("@BookId")])') = 1