webForumDet fria alternativet

Sorteringsproblem

7 svar · 547 visningar · startad av corona

coronaMedlem sedan feb. 200470 inlägg
#1

Undrar hur jag ska göra för att min SQL-sats inte ska plocka med poster som är tomma dvs "null" vid sortering.
Jag ska sortera en namnlista där visa personer har titel (Ordförande och Vice Ordförande) och andra har ingen titel alls.
Ordförande ska komma först osv ..
Min kod:
Visa = "SELECT * FROM Utb WHERE RegionNr = '" & Lansdel & "' ORDER BY Titel DESC"

Nu visas personer utan titel först pga att posten är tom.
Hur undviker jag detta?

//Annette

@ndersMedlem sedan juni 200032 969 inlägg
#2
Visa = "SELECT * FROM Utb WHERE RegionNr = '" & Lansdel & "' AND TITEL IS NOT NULL ORDER BY Titel DESC"
LarsGMedlem sedan dec. 200012 464 inlägg
#3
order by case titel
 when 'Ordförande' then 1
 when 'Vice ordförande' then 2
 when '...' then 3
 when ...
 else 9999 end

Flyttas från ASP

coronaMedlem sedan feb. 200470 inlägg
#4

Hej igen!
Jag får det inte att fungera. Får hela tiden fel. Har jag skrivit fel i koden?
Visa = "SELECT * FROM Utb WHERE RegionNr = '" & Lansdel & "' ORDER BY case Titel When 'Ordförande' Then 1 When 'Vice ordförande' Then 2 When '...' Then 3 When ... Else 9999 End"

//Annette

LarsGMedlem sedan dec. 200012 464 inlägg
#5

Vad får du för fel? Vilken databashanterare använder du?

Then 2 When '...' Then 3 When ... Else 9999 End"

Här menade jag att du skulle fylla i fler titlar som du ville ha med i sorteringen.

coronaMedlem sedan feb. 200470 inlägg
#6

Hej igen!

Jag använder mig av MS Access, om det är det du menar?
Felet jag får är:
(0x80004005)
Unspecified error som pekar på denna kodrad:
RecSet2.Open Visa, Connect, adOpenStatic, adLockOptimistic

Mitt anrop till databasen är:

Set RecSet2 = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * FROM UtbRads WHERE RegionNr = '" & Lansdel & "' ORDER BY case Titel When 'Ordförande' Then 1 When 'Vice ordförande' Then 2 When '...' Then 3 When ... Else 9999 End"
RecSet2.Open Visa, Connect, adOpenStatic, adLockOptimistic

//Annette

LarsGMedlem sedan dec. 200012 464 inlägg
#7

Ok, Access är inte som andra databashanterare

Visa = "SELECT * FROM UtbRads WHERE RegionNr = '" & Lansdel & "' ORDER BY iif(Titel= 'Ordförande',1,iif(titel = 'Vice ordförande' ,2,3))"
coronaMedlem sedan feb. 200470 inlägg
#8

Stort tack för snabba svar!
Då har man lärt sig lite mer och det är jag glad för!
Helt toppen med detta forum!!!

//Annette

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