Witam.
Mam takiego XML
<?xml version="1.0"?>
<osoba>
<imie>Stanislaw</imie>
<nazwisko>Kowalski</nazwisko>
<pokolenie>1</pokolenie>
<wspolmal>
<imie>Barbara</imie>
<nazwisko>Babacka</nazwisko>
<pokolenie>1</pokolenie>
<osoba>
<imie>Krzysztof</imie>
<nazwisko>Kowalski</nazwisko>
<pokolenie>2</pokolenie>
<wspolmal>
<imie>Martyna</imie>
<nazwisko>Abacka</nazwisko>
<pokolenie>2</pokolenie>
<osoba>
<imie>Zbigniew</imie>
<nazwisko>Kowalski</nazwisko>
<pokolenie>3</pokolenie>
<wspolmal>
<imie>Izabela</imie>
<nazwisko>Peszko</nazwisko>
<pokolenie>3</pokolenie>
</wspolmal>
</osoba>
<osoba>
<imie>Kamil</imie>
<nazwisko>Kowalski</nazwisko>
<pokolenie>3</pokolenie>
</osoba>
<osoba>
<imie>Maria</imie>
<nazwisko>Kowalski</nazwisko>
<pokolenie>3</pokolenie>
</osoba>
</wspolmal>
</osoba>
<osoba>
<imie>Katarzyna</imie>
<nazwisko>Kowalski</nazwisko>
<pokolenie>2</pokolenie>
<wspolmal>
<imie>Mariusz</imie>
<nazwisko>Nowak</nazwisko>
<pokolenie>2</pokolenie>
<osoba>
<imie>Michal</imie>
<nazwisko>Nowak</nazwisko>
<pokolenie>3</pokolenie>
<wspolmal>
<imie>Krystyna</imie>
<nazwisko>Lis</nazwisko>
<pokolenie>3</pokolenie>
</wspolmal>
</osoba>
<osoba>
<imie>Daniel</imie>
<nazwisko>Nowak</nazwisko>
<pokolenie>3</pokolenie>
</osoba>
</wspolmal>
</osoba>
</wspolmal>
</osoba>
Jest to jakieś drzewo genealogiczne wymyślone przeze mnie. No i wprowadziłem sobie tego xmla do bazy MS SQL. Wszystko jest w jednej kolumnie.
No i chce napisać komende sqlową która pozwoli znalść kogoś bez wspolmalzonka badz pare bez dziecka i mu go dodać. Narazie mam takie coś
SELECT opis.query('//osoba[imie="Krzysztof" and nazwisko="Kowalski" and pokolenie= "2"]/wspolmal') FROM dzewo;
, to pozwala znaleść kogoś i wypisać jego wspolmaloznka(choć tak to miało wyglądać, rzeczywiscie pokazuje cały węzeł ).Tez nie bardzo mam pomysł jak by napisać by nie wypisywane były pod wezły we <wspolmal></wspolmal>.
Jak ktoś ma pomysł, prosił bym o sugestie.