Avatar billede segato Nybegynder
07. december 2010 - 21:44 Der er 5 kommentarer og
1 løsning

TOP X fra sub select med union?

Har følgende sql som ikke virker:

select top 5 from
(select TimeOfVisit as Date, Host as Host, Guest,1  from ProfileVisit
union all
select Replied as Date,ProfileIdTo as Host,ProfileIdFrom as Guest,2  from mail
union all
select DateProfileAdded as Date,ProfileIdAdded as Host, ProfileIdAdder as Guest,3  from ProfileFavorite)
order by date

Det jeg ønsker er at kunne trække et odered top x resultat ud fra en select der inkludere union.
Avatar billede janus_007 Nybegynder
07. december 2010 - 22:00 #1
select top 5 * from
(select TimeOfVisit as Date, Host as Host, Guest,1  from ProfileVisit
union all
select Replied as Date,ProfileIdTo as Host,ProfileIdFrom as Guest,2  from mail
union all
select DateProfileAdded as Date,ProfileIdAdded as Host, ProfileIdAdder as Guest,3  from ProfileFavorite) as p
order by date
Avatar billede segato Nybegynder
07. december 2010 - 22:09 #2
Mjja det troede jeg også men får følgende fejl:

No column name was specified for column 4 of 'p'.
Avatar billede segato Nybegynder
07. december 2010 - 22:11 #3
Ahh man skal have en as på den sidste kollonne, smid et svar det guidede mig i den rigtige retning.
Avatar billede janus_007 Nybegynder
07. december 2010 - 22:38 #4
Godt Segato :)
Avatar billede janus_007 Nybegynder
07. december 2010 - 22:40 #5
Ja havde faktisk ikke lige set den manglede på 1. du havde været så grundig at sætte aliaser alle steder.

I virkeligheden kan man undgå det i en union, det er kun første select som behøver det, eks.vis:

select top 5 * from
(select TimeOfVisit as Date, Host as Host, Guest, 1 as Number from ProfileVisit
union all
select Replied, ProfileIdTo, ProfileIdFrom, 2 from mail
union all
select DateProfileAdded, ProfileIdAdded, ProfileIdAdder, 3  from ProfileFavorite) as p
order by date

Om det er pænere.. hmmm
Avatar billede segato Nybegynder
08. december 2010 - 09:20 #6
Det lige i skuret, tak for hjælpen Janus!
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