Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Najnowszy rekord

14 views
Skip to first unread message

Adam

unread,
May 18, 2023, 6:55:12 PM5/18/23
to
Witajcie.

Dotyczy MS-SQL.

Są dwie tabele, główna A i druga B.
Potrzebuję wyrzucić tylko najnowsze rekordy.

Powiedzmy, że jest baza książek i wypożyczeń.

Przykładowo tabela książki A:
ID_book, Book_Tytul
1, Faraon
2, Vinetou
3, Solaris


tabela wypożyczenia B:
ID_book, ID_wypoz, Osoba
2, 1, Jan Kowalski
2, 2, Anna Nowak
3, 3, Zenon Lubiany
3, 4, Olek Kwiatek
1, 5, Zuzia Nieduzia

chcę w wyniku otrzymać ostatnie wypożyczenia, czyli:
Book_Tytul, Osoba
Vinetou, Anna Nowak
Solaris, Olek Kwiatek
Faraon, Zuzia Nieduzia

Relackja 1:MANY a.ID_book = B.ID_book

Totalne mam zaćmienie, nie potrafię do tego dołożyć distinct czy czegoś w
tym rodzaju.
Poratuje ktoś?


--
Pozdrawiam.

Adam

Adam

unread,
May 19, 2023, 8:33:51 AM5/19/23
to
SELECT A.Book_Tytul, B.Osoba

FROM tabelaA A

JOIN tabelaB B ON A.ID_book = B.ID_book

JOIN (

SELECT ID_book, MAX(ID_wypoz) AS max_id_wypoz

FROM tabelaB
GROUP BY ID_book
) AS C
ON B.ID_book = C.ID_book AND B.ID_wypoz = C.max_id_wypoz


--
Pozdrawiam.

Adam

Adam

unread,
May 19, 2023, 8:40:11 AM5/19/23
to
Albo:

SELECT A.Book_Tytul, B.Osoba

FROM tabelaA A

JOIN (
SELECT ID_book, Osoba,

ROW_NUMBER() OVER (PARTITION BY ID_book ORDER BY ID_wypoz DESC)
AS rn

FROM tabelaB
) AS B
ON A.ID_book = B.ID_book AND B.rn = 1


--
Pozdrawiam.

Adam
0 new messages