Tomasz Walaszek

Tomasz Walaszek Główny specjalista,
GETIN BANK S.A.

Temat: Podzapytanie - podanie ostatniej wartości

Witam Serdecznie,

Mam następujący problem. Chciałem zrobić zapytanie do mysql skladające się z dwóch elementów:

Pierwsze zapytanie które odnajduje mi konkretną umowę i podaje skrajne daty:
select
NRB AS `NRB`,
min(`tabela_1`.`DATA`) AS `DATA_MIN`,
max(`tabela_1`.`DATA`) AS `DATA_MAX`
from
`tabela_1`
where
(`tabela_1`.`NRB` = 'xxxxxxxxxxxxxxxxxxxxxxxxxxx')
group by
`tabela_1`.`NRB`;

Drugie zapytanie bez agregatów i ograniczeń które pokazuje mi wszystkie możliwe statusy które wystapiły.

SELECT
ID,
NRB,
DATA_AKT,
NRB,
STATUS
FROM
tabela_1

Teraz chciałem połączyć te zapytania. Połączenie byłoby po nrb oraz DATA_AKT - DATA_MAX tak aby ostatecznie otrzymac wynik:
NRB,
DATA_MIN,
DATA_MAX,
STATUS - ostatni możliwy status który wystąpił dla danej umowy.

Generalnie potrzebuję wiedzieć jaki jest ostatni status dla danej umowy a w MySQL nie można się posłużyć funkcja - "ostatni" jak w Access.

Czy mogę prosić o pomoc w skonstruowaniu podzapytania.
Krzysztof Białkowski

Krzysztof Białkowski Software Developer
(C# .NET)

Temat: Podzapytanie - podanie ostatniej wartości

sprobowałbym cos takiego:


select NRB AS `NRB`, min(`t1`.`DATA`) AS `DATA_MIN`, max(`t1`.`DATA`) AS `DATA_MAX`,
(SELECT tt1.STATUS FROM tabela_1 tt1
where tt1.NBR=t1.NBR order by tt1.DATA_AKT desc limit 1 ) as STATUS

from `tabela_1` t1
where (`t1`.`NRB` = 'xxxxxxxxxxxxxxxxxxxxxxxxxxx')
group by `t1`.`NRB`;

Następna dyskusja:

przeszukiwanie wg pola zawi...




Wyślij zaproszenie do