![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 12.03.2009 Skąd: Poznań Ostrzeżenie: (10%) ![]() ![]() |
Chciałbym wyciągnąć wszystkie aktywne umowy.
na tabele z umowami składa się : -id -id_klienta -id_projektu -data_rozpoczęcia -data_zakonczenia teraz jeżeli mamy taką tabelę: |id| |id_klient| id_projekt | data_rozpoczecia | data_zakonczenia | 4 | 1 | 46 | 2009-08-24 | 2010-09-12 | 1 | 1 | 75 | 2009-03-09 | 2010-09-12 | 5 | 1 | 75 | 2009-08-24 | 2010-09-12 | wynikiem zapytania powinno być najświeższa umowa dla danego id_klienta i id_projektu czyli coś takiego: 4 | 1 | 46 | 2009-08-24 | 2010-09-12 | 5 | 1 | 75 | 2009-08-24 | 2010-09-12 | ![]() Ten post edytował gummmibear 15.10.2009, 17:10:40 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Więc zrób tak... Najpierw posortuj całą tablicę po polach:
id_klienta - rosnąco, id_projektu - rosnąco, id - malejąco To przygotuje grunt pod to, byś potem tak posortowane dane pogrupował po id_projektu ![]() SELECT * FROM (SELECT * FROM tabela ORDER BY id_klienta ASC, id_projekt ASC, id DESC) sorted GROUP BY id_projekt Ten post edytował thek 15.10.2009, 23:31:19 -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]() ![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 53 Dołączył: 10.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
jmail... Jeśli najpierw pogrupuje po id_klienta to zwróci mu tylko 1 rekord. Popatrz na to co chce uzyskać.... Jeśli ma kilka projektów jednego klienta to wszystkie te projekty chce wyświetlić, nie tylko najnowsze umowy tegoż kolesia zauważ, że w przykładzie wyniku oba rekordy mają te samo id_klient. Trochę źle się wyraził w tym co chce uzyskać, ale przykład raczej rozwiewa wątpliwości.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 21:41 |