select 0 as sort, kol1, kol2, kol3, created from DinTabel where ShowAsTopNews = 1 union select 1 as sort, kol1, kol2, kol3, created from DinTabel where ShowAsTopNews <> 1 order by sort, created desc
Kan det ikke laves på en anden måde, da jeg er begrænset af et system, så kan kun få lov at lave where clauses, og order clauses, kan altså ikke få lov at lave en select...
Nej. Det kan kun stå i samme sql via union. Det jeg mente var via dit program (C#, VB, ASP eller hvad du nu koder) at lave 2 selects. Så der skal du kalde din funktion 2 gange.
Noget ala: set rs = getData("where ShowAsTopNews = 1") ...Vis de data... set rs = getData("where ShowAsTopNews <> 1") ...Vis de data...
Kan du ikke bruge union, er eneste måde at lave udtrækket 2 gange.
Jamen som sagt, arbejder i et CMS system, hvor det er begrænset hvad man kan, ergo, kan ikke skrive noget asp, php kode, kan kun skrive en WHERE clause, også lave en ORDER BY på det...
Du kan måske lave det med en CASE i din ORDER BY (hvis du får lov til det).
F.eks. sådan her:
ORDER BY CASE WHEN ShowAsTopNews = 1 THEN 1 ELSE 2 END, Created DESC
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.