create table zawodnicy_tl ( id_zawodnika int primary key identity(1,1), id_trenera int, imie varchar(255), nazwisko varchar(255), kraj varchar(3), wzrost decimal(5,2), waga decimal(5,2), data_ur datetime2 ) drop table zawodnicy_tl insert into zawodnicy_tl values (1,'jan','kowalski','pol',185,67,'19650420') insert into zawodnicy_tl values (1,'adam','nowak','pol',185,67,'19650420') insert into zawodnicy_tl values (1,'adam','nowak','pol',185,67,'19650420'), (1,'jan','kowalski','pol',185,67,'19650420') insert into zawodnicy_tl (imie,nazwisko) values ('marcin','adamski') insert into zawodnicy_tl values (1, 'adam',null,'pol',123,54,'19231212') select * from zawodnicy_tl delete zawodnicy_tl where id_zawodnika in (2,3,4) select * from zawodnicy_tl where id_zawodnika in (2,3,4) delete zawodnicy_tl truncate table zawodnicy_tl update zawodnicy_tl set nazwisko='kowalski', imie = 'marcin' where id_Zawodnika in (2,3) truncate table zawodnict_tl insert into zawodnicy_tl select id_trenera, imie,nazwisko,kraj,wzrost,waga,data_ur from zawodnicy where kraj = 'pol' select * from zawodnicy_tl delete zawodnicy_tl where kraj != 'pol' update zawodnicy_tl set nazwisko = z.nazwisko from zawodnicy z where z.id_zawodnika = zawodnicy_tl.id_zawodnika alter table zawodnicy_tl add kolorWlosow varchar(50) select * from zawodnicy_tl -- zadanie: -- Dla kazdego zawodnika wypisz, kto jest jego szefem. W nowej kolumnie -- o nazwie id_szefa wpisz id zawodnika, który jest jego szefem. -- Szefem Zawodnika A jest zawodnik B z tego samego kraju, który jest -- od niego wyższy ale pomiędzy zawodnikiem A i B nie ma innego ze wzrostem -- pośrednim. Zawodnik najwyższy w danym kraju jest szefem wszystkich -- szefów i id_szefa jego zawodnika wynosi null select * from zawodnicy order by kraj, wzrost select id_zawodnika, imie, nazwisko , kraj, wzrost, LEAD(id_zawodnika,1) over (PARTITION BY kraj order by wzrost) id_szefa from zawodnicy -- do Twojej tablki dodaj kolune id_szefa alter table zawodnicy_tl add id_Szefa int select * from zawodnicy_tl truncate table zawodnicy_tl insert into zawodnicy_tl select id_trenera, imie,nazwisko,kraj,wzrost,waga,data_ur,null,null from zawodnicy select * from zawodnicy_tl update zawodnicy_tl set id_szefa = LEAD(id_zawodnika,1) over (PARTITION BY kraj order by wzrost) from zawodnicy z where zawodnicy_tl.id_zawodnika = z.id_zawodnika update zawodnicy_tl set id_szefa = t.idS from zawodnicy z right join ( select id_zawodnika, LEAD(id_zawodnika,1) over (PARTITION BY kraj order by wzrost) idS from zawodnicy ) t on z.id_zawodnika = t.id_zawodnika where z.id_zawodnika = zawodnicy_tl.id_zawodnika select * from zawodnicy_tl select z.id_zawodnika, z.imie, t.idS from zawodnicy z left join (select id_zawodnika, LEAD(id_zawodnika,1) over (PARTITION BY kraj order by wzrost) idS from zawodnicy) t on z.id_zawodnika = t.id_zawodnika