![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki problem:
Dwie tabele w bazie danych... tabela pierwsza "ta": Ld--NrKlienta--Mieiac--Rok---Wartosc-- -9----22--------5-----2009----18------ -8----15--------5-----2009----15------ -7----21--------5-----2009----11------ -6----22--------5-----2009-----9------ -5----44--------5-----2009-----9------ -4----44--------5-----2009----57------ -3----22--------5-----2009----19------ tabela druga "tb": -Ld--NrKlienta--Data----------email-- -33-----15-----2009-05-22---aaa9999@o2.pl -33-----22-----2009-05-18---aaa8888@o2.pl -33-----21-----2009-05-17---aaa7777@o2.pl -33-----22-----2009-05-11---aaa6666@o2.pl -33-----44-----2009-05-05---aaa5555@o2.pl -33-----22-----2009-05-01---aaa4444@o2.pl -33-----15-----2009-04-27---aaa3333@o2.pl -33-----22-----2009-04-22---aaa2222@o2.pl -33-----22-----2009-04-15---aaa1111@o2.pl Chciałbym otrzymać TYLKO jeden, NAJŚWIEŻSZY email dla danego klienta czyli wynik z powyższych tabel powinien wyglądać tak Rezultat: Klient email 15 -- aaa9999@o2.pl 22 -- aaa8888@o2.pl 21 -- aaa7777@o2.pl 44 -- aaa5555@o2.pl Próbowałem różnych zapytań ale zawsze dostaję za dużo odpowiedzi czyli albo namnożą mi się Klienci albo wyciąga więcej emaili. Klienci często zmieniają swe eMaile a ważny jest tylko jeden - ten z najświeższą datą...
Jeżeli ktoś podpowie mi prosty SELECT to będzie super... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Niestety w dalszym ciągu najlepiej wychodzi mi moje rozwiązanie (tylko powinna być odwrotna kolejność).
Ćwiczę dalej z JOIN i UNION ale wychodzi mi cały czas nadmiar wyników.... Jasnej podpowiedzi..... czekam. To tylko pozornie jest proste (IMG:style_emoticons/default/exclamation.gif) !! coś zapewne pomijam w myśleniu. Zrobilem coś z rożnymi JOIN(ami) ale wynik jest zawsze "do gory nogami" czyli w wyniku (i oczywiście po zawężeniu do RAZ powtarzającego się klienta) mam najstarszy wynik, czyli na pierwszy na jaki natrafi w bazie danych czesząc ją od początku do końca. Zdawalo mi się, że jak dodam kolumnę z datą dodania i określę ją wartością DESC to może coś pomóc -- ale nic z tego....
otrzymany rezultat znowu jest: 15 -- aaa9999@o2.pl 22 -- aaa1111@o2.pl <----- a powinno być aaa8888@o2.pl 21 -- aaa7777@o2.pl 44 -- aaa5555@o2.pl to zapewne jest proste ale właśnie to coś prostego mi nie przychodzi do glowy lub tego nie wiem.... Czy ktoś wpadnie na pomysł (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) ? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 12:48 |