Avatar billede lingo Nybegynder
02. juli 2013 - 12:28 Der er 3 kommentarer og
1 løsning

Retuner kun den nyeste ordre

Jeg sidder med følgende sql query, som giver mig alle alle ordre der indeholder m, der matcher kampagnerne.


select 
callee.phoneno, orders.orderno, orders.createdate,      callee.email, , addresses.campaignid, addresses.status
from orders
join callee on callee.id=orders.calleeid
join addresses on callee.id=addresses.applid
where
orders.orderno like '%m%'
and
addresses.campaignid in (222,221)

Problemet er at jeg kun ønsker den nyeste ordre der indeholder "m" og som der mathcer kritererne. Jeg har prøvet med left join, men uden held.
Nognen gode bud?

På forhånd mange tak!
Avatar billede Slettet bruger
02. juli 2013 - 12:57 #1
Det er der flere løsninger på - her er én:

select *
from
(
select 
callee.phoneno, orders.orderno, orders.createdate,      callee.email, , addresses.campaignid, addresses.status
,row_number() over(order by orders.createdate) Nr
from orders
join callee on callee.id=orders.calleeid
join addresses on callee.id=addresses.applid
where
orders.orderno like '%m%'
and
addresses.campaignid in (222,221)
) s1
where Nr = 1
Avatar billede lingo Nybegynder
02. juli 2013 - 13:04 #2
Tak Rahp....

men jeg havde vist ikke beskrevet helt godt nok. Jeg ønsker den nyeste ordre med M pr. kunde (callee.phoneno)

Min query giver 50.000 rækker og hvis hver kunde kun skal respresenteres med den nyeste ordre kommer den ned på ca. 40.000 rækker.

Kan du hjælpe med det?
Avatar billede Slettet bruger
02. juli 2013 - 13:14 #3
du skal bare rette linien
,row_number() over(order by orders.createdate) Nr

til

,row_number() over(partition by callee.phoneno order by orders.createdate) Nr
Avatar billede lingo Nybegynder
02. juli 2013 - 13:42 #4
TAK - Det virker perfekt...
Det sætter jeg stor pris på...

Velfortjente point :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester