webForumDet fria alternativet
Logga in / Bli medlem

knepig sortering..

Databaser & SQL

4 svar · 250 visningar · startad av reggie

Medlem sedan sep. 20035 inlägg
Trådstart#1

hejsan!
jag har en tabell, med sorterings-fälten parent och sequence, vilken innehåller information för en meny. när jag hämtar information från tabellen vill jag sortera först enligt sequence sedan så att de fält som har har ett parent värde hämnar direkt efter det fält där deras parent som id och dessa i sin tur efter sin sequence. låter kanske lite rörigt så jag tar ett exempel.

// här är exempel-tabellen:
+-----+------------+------------+---------+
| id  | titel      | sequence   | parent  |
+-----+------------+------------+---------+
| 1   |meny1       | 1          | 0       |
+-----+------------+------------+---------+
| 2   |meny2       | 2          | 0       |
+-----+------------+------------+---------+
| 3   |meny3       | 3          | 0       |
+-----+------------+------------+---------+
| 4   |subm1m1     | 1          | 1       |
+-----+------------+------------+---------+
| 5   |subm2m1     | 2          | 1       |
+-----+------------+------------+---------+
| 6   |subm1m2     | 1          | 2       |
+-----+------------+------------+---------+
| 7   |subm2m2     | 2          | 2       |
+-----+------------+------------+---------+

// när jag nu hämtar informationen vill jag att den ska sorteras på följande sätt
select titel from tabellen <sortering>;
meny1      // id=1
subm1m1    // 4
subm2m1    // 5
meny2      // 2
subm1m2    // 6
subm2m2    // 7
meny3      // 3

har mixtrat en del men får inte till det... några förslag?

Medlem sedan dec. 200012 464 inlägg
#2
order by 10*sequence+parent

Flyttas från Mysql

Medlem sedan sep. 20035 inlägg
#3

tyvärr funkar inte det eftersom alla submenyer med sequence 1 kommer då att hamna under id 1, inte de med (ja förutom den första då) parenten 1.

Medlem sedan dec. 200012 464 inlägg
#4
select * from t
order by case when parent = 0 then sequence else parent end,parent
Medlem sedan sep. 20035 inlägg
#5

strålande strålande STRÅLANDE! tackar bockar och bugar =)!

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