Edwardvb schreef op maandag 05 maart 2007 @ 18:15:
ik heb nog geen oplossing bedacht voor het DESC of ASC idee.... maar hiermee ben je denk ik al een eind...
tabel rubriek ziet er zo uit:
code:
1
2
3
4
| id naam orderby
1 Rubriek A 1
2 Rubriek B 2
3 Rubriek C 3 |
SQL:
1
2
3
4
5
6
| SELECT *
FROM `rubriek`
LEFT JOIN links
ON ( 1 = 1 ) #dan komen alle links in iedere rubriek... weet niet of dat je doel is...
ORDER BY
rubriek.naam, ELT(rubriek.orderby, links.naam, links.datum, links.href ) |
heb het niet echt goed getest, misschien werkt dit niet voor datums enzo, amaar denk het wel...
oh, ik heb nog een idee, om dan de datum bijvoorbeeld DESC te sorteren... dit werkt niet als je teveel verschillende sorteringen hebt, maar je kunt de datum er bijvoorbeeld uittrekken... stel dat 2 = datum (zoals in vorige post...)... maak dan je selectie:
SQL:
1
2
3
4
5
6
| SELECT *
FROM `rubriek`
LEFT JOIN links
ON ( 1 = 1 ) #dan komen alle links in iedere rubriek... weet niet of dat je doel is...
ORDER BY
rubriek.naam, ELT(rubriek.orderby, links.naam, 1, links.href ), links.datum DESC |
stel nu dat je op links.naam (=1) sorteert, dan wordt er dus eerste gesorteerd op links.naam en daarna op links.datum DESC... die niet meer van belang is, behalve als twee links.naam gelijk zijn...
stel nu dat je op links.datum (=2) sorteert... dan wordt er dus eerst gesorteerd op 1... dus geen sortering, want die zijn allemaal gelijk, en daarna wordt er gesorteerd op links.datum DESC....