» »

[SQL] Zadnji zapis med kupci

[SQL] Zadnji zapis med kupci

ql000 ::

Pozdrav,

imam tabelo postavk servisa (Posted Service Invoice Line). Tabela vsebuje podatke o več transakcijah večih kupcev ob različnih datumih knjiženj. Zanima me kako lahko dobim zapis filtriran po posameznem kupcu in njegovi zadnji transakcji. Zadeva nekako že deluje takole:

--Select [Customer No.], Max([Posting Date])
--FROM [Posted Service Invoice Line]
--GROUP BY [Customer No.]
ampak dobim samo en stolpec, pač rezultat. Kako bi jaz še vedno obdržal ta rezultat, zraven pa dodal še ostale stolpce tabele.

Hvala!

imagodei ::

Navedi vse stolpce v Select, nato pa vse stolpce, kjer nisi uporabil agregatne funkcije (Max...) navedi v Group By.
- Hoc est qui sumus -

ql000 ::

Samo pol mi ne da več pravega rezultata. Zgoraj omenjeni primer mi vrne 1818 vrstic, če dodam še en stolpec npr. Order No. Dobim 35000 vrstic. Kar ni v redu, ker se začnejo stranke ponavljati.

Zgodovina sprememb…

  • spremenil: ql000 ()

joze67 ::

Mogoče:
select a.*
from
[Posted Service Invoice Line] a,
(select [Customer No.], Max([Posting Date]) md
from [Posted Service Invoice Line]
group by [Customer No.]) b
where a.[Customer No.] = b.[Customer No.] and a.[Posting Date] = b.md

ql000 ::

Hvala, deluje! Vidim, pa da moram še oreng zagrist v tole ;).

LP


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

SQL vprašanje

Oddelek: Programiranje
81105 (704) MrStein
»

Baza & c#

Oddelek: Programiranje
214149 (3207) xardas
»

[SQL] Kazalci pri grupiranju

Oddelek: Programiranje
8822 (699) Tody
»

[SQL] Insert

Oddelek: Programiranje
252064 (1666) greentech
»

T-SQL FIRST / TOP / MAX...

Oddelek: Programiranje
61488 (1488) frudi

Več podobnih tem