webForumDet fria alternativet

Sortera med valda värden först ?

Databaser & SQL

10 svar · 283 visningar · startad av CatZ

Medlem sedan jan. 20022 440 inlägg
Frågan#1

Jag har en fält i ett person register som heter Styrelse, från detta fältet(styrelse) vill jag sortera i följande ordning:
1. Ordförande
2. Sekreterare
3. Kassör

osv

Hur gör man det ?

Normalt sett så hamnar ju Kassör före Ordförande om man gör ORDER BY Styrelse ASC

Och gör man ORDER BY Styrelse DESC så hamnar ju Sekreterare först..... går dett lösa på något sätt ?

Medlem sedan mars 20015 287 inlägg
#2

Om inte annat kan du lägga in ett fält till i databasen: sortorder
datatyp heltal och sen sortera på det.

Medlem sedan jan. 20022 440 inlägg
#3

hmm nu fattar jag inte alls....

Medlem sedan mars 20015 287 inlägg
#4

Databas

Styrelse - Namn - Sortorder

Kassör - Nisse - 3
Ordförande - Kalle - 1
Sekreterare - Anders - 2

Medlem sedan jan. 20022 440 inlägg
#5

jo visst men hur löser jag det när jag har 100 andra saker i samma tabell så som adress tele mm mm :)

Medlem sedan juni 200032 967 inlägg
#6

Vad har de fälten med det här att göra?
Lägg till sorteringsfältet i tabellen, och sedan är det ju bara att sortera på det i SQL-frågan.

Medlem sedan dec. 200012 464 inlägg
#7

enligt standard sql

order by case styrelse when 'Ordförande' then 1
                                    when 'Sekreterare' then 2
                                    when 'Kassör' then 3
                                    else 4 end

Eller du kanske använder Access?

order by iif(styrelse='Ordförande',1,
              iif(styrelse='Sekreterare',2,
              iif(styrelse='Kassör',3,4)))
Medlem sedan mars 20015 287 inlägg
#8

Om inte annat...

= LarsG! :e

Medlem sedan jan. 20022 440 inlägg
#9

LarsG äger oss allihop lätt... jag fattar inte hur någon kan hålla så mycket kunskap i huvudet och sedan plocka fram exakt den kunskap som behövs för att lösa allas problem :) :e

Medlem sedan jan. 20022 440 inlägg
#10
		Set rs = Server.CreateObject("ADODB.Recordset")
		SQL = "SELECT * FROM namn" &_
		" WHERE NnStyrelse > Empty" & _
		" ORDER BY 	iif(NnStyrelse='Ordförande',1, " & _
					"iif(NnStyrelse='Sekreterare',2, " & _
					"iif(NnStyrelse='Kassör',3, " & _
					"iif(NnStyrelse='Ledamot',4, " & _
					"iif(NnStyrelse='Valberedning',5, " & _
					"iif(NnStyrelse='Suppleant',6, " & _
					"iif(NnStyrelse='Revisor',7, " & _
					"iif(NnStyrelse='Ungdoms Komitté Ordförande',8, " & _
					"iif(NnStyrelse='Ungdoms Komitté',9,10)))))))))"
		[b]rs.Open SQL, dbCom, 3, 3[/b]
		response.write "<table width=100% border=0 cellspacing=0 cellpadding=3 class=table>" & _
				"<tr class=td1>" & "<td>" & "Uppdrag" & "</td>" & _
				"<td>" & "Namn" & "</td>" & _
				"<td>" & "Telefon (h)" & "</td>" & _
				"<td>" & "Telefon (a)" & "</td>" & _
				"<td>" & "Mobil" & "</td>" & _
				"<td>" & "Epost" & "</td>" & _
 				"</tr>"
					while not rs.eof
						response.write "<tr class=td2>" & _
							"<td>" & rs("NnStyrelse") & "</td>" & _
							"<td>" & rs("NnNamn") & ", " & rs("NnEfter") & "</td>" & _
							"<td>" & rs("NnTelehem") & "</td>" & _
							"<td>" & rs("NnTelejobb") & "</td>" & _
							"<td>" & rs("NnMobil") & "</td>" & _
							"<td>" 
								IF rs("NnEpost") <> Empty Then 
									response.write "<a href=mailto:" & rs("NnEpost") & ">Ja</a>"
								End IF
					rs.movenext
					wend
					response.write "</td>" & "</tr>" & "</table>"
	%>

Vad är det för fel på det här nu då ? :(

Feltyp:
Microsoft JET Database Engine (0x80040E10)
Det har inte angetts något värde för en eller flera nödvändiga parametrar.
/sydostra/styrelse.asp, line 19

Rad 19 är i fet stil.. rs.Open SQL, dbCom, 3, 3

Medlem sedan jan. 20022 440 inlägg
#11

Det var inget... jag är puckad... Jag plockade ut alla värden jag ville ha med

WHERE NnStyrelse IN ('Ordförande', 'Sekreterare', 'Kassör', 'Ledamot', 'Valberedning', 'Suppleant', 'Revisor', 'Ungdoms Komitté Ordförande', 'Ungdoms Komitté')

Istället ;)

263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)