06. juli 2006 - 00:34Der er
9 kommentarer og 2 løsninger
"Order by" kan ikke længere anvendes i Views på Express'en
Hej alle
har lige opgraderet fra MSDE til 2005 express, men mine Views fungerer ikke længere, når det handler om "order by" (indbygget i viewet). Jeg skal skrive "order by" i asp-koden, for at få den til at lave en orden.
Hymmm... hvorfor nu det. Det var jo smart nok at ordne recordene inden de ankom til asp-laget.
Jeg troede først, at det var et View, som der var noget galt med, men det er faktisk alle views, fandt jeg senere ud af.
Nogen som har en forklaring på dette "tilbagefald"?
Bare et forslag (til "it-interesseret"), du kunne jo angive TOP xx i select'en i dit view, så skulle ORDER BY virke..... (det er vel alligevel begrænset hvor mange records du vil vise på en hjemmeside (?) - eller omvendt er det vel ikke uendeligt mange der er behov for)
Ved du om det er garanteret at data i en VIEW med TOP og ORDER BY kommer ud sorteret ? Eller vil det i 2005 eller en fremtidig version kunne ske at den bruger ORDER BY til TOP men alligevel returnerer data usorteret ?
arne: Jeg kan ikke forestille mig andet end at posterne vil komme ud sorteret.
Klippe-klistret fra spm 666778 "ORDER BY Clause Specifies the sort for the result set. The ORDER BY clause is invalid in views, inline functions, derived tables, and subqueries, unless TOP is also specified."
Det burde være sikkert..... (Men kan jo ikke påstå at vide det 100% (og slet ikke for fremtidig versioner))
SELECT DISTINCT TOP (100) PERCENT dbo.LINKS_CATEGORIES.ID AS CAT_ID, dbo.LINKS_GROUPS.ID AS GROUP_ID, dbo.LINKS_GROUPS.Title AS GROUPS_Title, dbo.LINKS_CATEGORIES.Title AS CAT_Title FROM dbo.LINKS_GROUPS INNER JOIN dbo.LINKS_CATEGORIES ON dbo.LINKS_GROUPS.ID = dbo.LINKS_CATEGORIES.GroupID INNER JOIN dbo.LINKS_FSH ON dbo.LINKS_CATEGORIES.ID = dbo.LINKS_FSH.CategoryID WHERE (dbo.LINKS_FSH.Publish <= GETDATE()) ORDER BY GROUPS_Title, CAT_Title
I MS dokumentation står der jo bare at ORDER BY kun er gyldig, hvis TOP også indgår i SELECT'en. Der står ingen steder at ORDER BY er ændret - så jeg ser ingen grund til at det ikke skulle virke nu (eller i fremtiden).
Fatter stadig minus ;-) men det virker, hvis jeg tilføjer order by i asp'en.
Synes godt om
Ny brugerNybegynder
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.