Piszę zapytanie, i użyłem rozwiązania w this thread i działało nieco, ale wciąż mam trochę problemów.SQL - Wybierz najnowszy rekord, gdy istnieje duplikat
Chcę wybrać kilka rekordów, które są w większości unikatowe, ale istnieje kilka, które występują dwa razy. Chcę móc wybrać tylko rekord, który ma najnowszą datę. To jest mój kwerendy do tej pory:
SELECT tb1.id,tb1.type,tb1.date
FROM Table tb1
WHERE tb1.type = 'A' OR 'B'
AND tb1.date = (SELECT TOP 1 tb2.date
FROM Table tb2
WHERE tb2.date = tb1.date
ORDER BY tb2.date DESC)
Działa to tak daleko, jak to pobiera najnowszą płytę tych zapisów, które mają duplikaty, ale te zapisy, które nie mają duplikaty nie pojawiają się w ogóle.
Dziękuję za pomoc i przepraszam, jeśli przegapiłem coś bardzo oczywistego; Jestem nowy w grze SQL.
Czy możesz podać przykładowe dane dotyczące unikalnych wierszy, które nie są zwracane w porównaniu do duplikatów, w których są prawidłowe? – kaj
Zwróć uwagę, że pojawiasz się przy dołączaniu daty, a nie przez nic innego, np. Id. Czy to jest zamierzone? – kaj
możesz być bardziej konkretny? Powiedziałeś: "Chcę móc wybrać tylko rekord, który ma najnowszą datę" i ostatnią ", ale te rekordy, które NIE mają duplikatów, wcale się nie pojawiają" ... wydaje mi się, że to dwie różne rzeczy. – Diego