Witam,
mam do napisania zapytanie i moj SQL chyba jest za slaby, zeby temu zadaniu podolac. Otoz mam 3 tabele:
https://zapodaj.net/7aa929adb51bc.bmp.html
tabele.bmp
W TableA rekordow o Number = 7 moze byc wiele - a ja musze wybrac najnowszy.
W TableB jest jeden rekord o Number = 7 i go wybieram
W TableC znow moze byc wiele rekordow o Number = 7 - i tu tez musze wybrac najnowszy
I wszystkie te tabele musze zlaczyc, czyli wynikiem powinien byc 1 rekord wygladajacy np. tak:
Number TableA.ValA TableA.Date TableB.ValAa TableC.ValA TableC.ValB TableC.Date
7 aaa 2005 aaAA aaaaaa bbbbbb 2011
W przypadku tabel A i C, jesli w rekordach daty sie powtarzaja - mozna wybrac dowolna.
Zadanie jest dziwne ale rzeczywiste. Przenosimy dane ze starej bazy do nowej i chodzi o to, zeby zaimportowac mozliwie najnowsze dane. Number to towar. Tabela A przedstawia ceny zakupu - potrzebna w miare najnowsza. Tabela B to jednostki. Tabela C - ceny sprzedazy i inne - tez szukamy najnowszych.
Towarow jest kilkadziesiat tysiecy ale predkosc nie ma znaczenia.
Probowalem np. z Tabeli A i C wybierac rekordy = (SELECT MAX(Date)....) ale daty sie powtarzaja i rekordy duplikuja... I nie wiem jak z tym dalej ruszyc. Baza MSSQL.