Jag använder mig nu av ett exempel för att åskådliggöra vad jag vill uppnå, med lite andra namn.
Har typ detta i en databas
namn nr lag
Kalle 1 Hammarby
Anders 1 Hammarby
Anders 3 Djurgården
Totte 4 Brynäs
Benke Modo
Robban 2 Leksand
Rickard AIK
Villa ha dessa i denna ordning:
namn nr lag
Anders 3 Djurgården
Anders 1 Hammarby
Kalle 1 Hammarby
Rickard AIK
Totte 4 Brynäs
Robban 2 Leksand
Benke Modo
Logiken är den att:
Om nr = 1 eller 3 skall det sorteras på lag i första hand och sen namn i andra hand.
Om inte nr = 1 eller 3 skall det sorteras på lag i första hand och sen namn i andra hand.
Allt detta skall komma efter det första kriteriet. (Se listning)
Nuvarande pryl fungerar så långt som fram till att den gör rätt så långt som fram till att den lägger de med nr 2 eller 4 allra sist sorterade på namn, men jag vill alltså att dessa ska vara "likvärdiga" med de helt utan nr och sorteras först på lag o sen på namn.
Så här är det alltså nu (felaktigt:)
namn nr lag
Anders 3 Djurgården
Anders 1 Hammarby
Kalle 1 Hammarby
Robban 2 Leksand FEL!
Totte 4 Brynäs FEL!
Rickard AIK
Benke Modo
SQL-sats:
ORDER BY iif(namn is null,1,0), namn, lag"
Testat med:
ORDER BY iif((namn is null AND nr = 1) ,1,0), namn, lag"
Samt lite dylika konstruktioner
men det flyttar bara en felaktig rad längst ner.
Jag använder mig nu av diverse If-satser o dyl för att få det hela rätt, men för att "få in" dessa med nr som är fel i sorteringen måste jag väl klara av det i SQL-frågan, eller?
(Suck, saknar aspforumet...)
Red. Tabslag eller mellan slag var ingen hit här.