webForumDet fria alternativet

Var lägger jag in ORDER BY?

6 svar · 203 visningar · startad av GrodanBoll

GrodanBollMedlem sedan sep. 2001788 inlägg
#1

Hej hej

Fattar inte var jag ska lägga in ORDER BY i sql-satsen.
Jag har testat att lägga den bara i första, bara i andra och i båda SELECT-satserna.
Blir helt enkelt fel... :(

Tar jag bort ORDER BY så funkar det kanon, men sorterar inte rätt då.

Help...

/Grodan :)

SELECT TOP 8 nyhetId, nyhetRubrik, convert(varchar(20),nyhetPostadNar,20) AS 'nyhetPostadNarConv' FROM tblNyhet WHERE avdId = '$avdid' AND nyhetBliKvarTom = NULL ORDER BY nyhetPostadNar DESC 
UNION 
SELECT nyhetId, nyhetRubrik, convert(varchar(20),nyhetPostadNar,20) AS 'nyhetPostadNarConv' FROM tblNyhet WHERE avdId = '$avdid' AND nyhetBliKvarTom > '$dagensdatum' ORDER BY nyhetPostadNar DESC
LarsGMedlem sedan dec. 200012 464 inlägg
#2

Vill du ha 8 totalt eller bara 8 från den första frågan?

Sen så bör du använda

is null

och inte

= null
GrodanBollMedlem sedan sep. 2001788 inlägg
#3

Hej

Jag vill bara ha top 8 från första frågan.

'is NULL' it is then :)

/Grodan

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Något så här då

select  nyhetId, nyhetRubrik, nyhetPostadNarConv from (
SELECT TOP 8 nyhetId, nyhetRubrik, convert(varchar(20),nyhetPostadNar,20) AS nyhetPostadNarConv, nyhetPostadNar FROM tblNyhet WHERE avdId = '$avdid' AND nyhetBliKvarTom IS NULL ORDER BY nyhetPostadNar DESC 
UNION 
SELECT nyhetId, nyhetRubrik, convert(varchar(20),nyhetPostadNar,20),nyhetPostadNar  FROM tblNyhet WHERE avdId = '$avdid' AND nyhetBliKvarTom > '$dagensdatum' ) ORDER BY nyhetPostadNar DESC

(Jag tog bort ' efter AS då det inte är riktigt standard att skriva så)

GrodanBollMedlem sedan sep. 2001788 inlägg
#5

Hej igen

Funka tyvärr inte, fick detta felmeddelandet:

MS SQL message: Incorrect syntax near the keyword 'ORDER'. (severity 15)

Vad kan det va för fel? :q

Hoppas att du har tid lite till *håller tummarna*

/Grodan :)

LarsGMedlem sedan dec. 200012 464 inlägg
#6

Ja visst ja,

select  nyhetId, nyhetRubrik, nyhetPostadNarConv 
from (SELECT TOP 8 nyhetId, nyhetRubrik, 
       convert(varchar(20),nyhetPostadNar,20) AS nyhetPostadNarConv, 
nyhetPostadNar 
FROM tblNyhet 
WHERE avdId = '$avdid' 
AND nyhetBliKvarTom IS NULL 
ORDER BY nyhetPostadNar DESC 
UNION 
SELECT nyhetId, 
nyhetRubrik, convert(varchar(20),nyhetPostadNar,20),nyhetPostadNar  
FROM tblNyhet 
WHERE avdId = '$avdid' 
AND nyhetBliKvarTom > '$dagensdatum' ) [b] sQuery [/b]
ORDER BY nyhetPostadNar DESC

ms sql kräver att du har ett namn efter den inre selecten, även om det inte behövs.

GrodanBollMedlem sedan sep. 2001788 inlägg
#7

Wohooo!! :D

Funkar kanon.

Thx mate :birp

/Grodan

133 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)