Ik dacht een heel simpel probleem te hebben maar het is ingewikkelder dan ik dacht. Ik heb een query als volgt;
Ik wil dus de rijen hebben waarbij categories_id de waarde 43, 23 of 381 bevat. Gaat prima, alleen krijg ik de inhoud terug als 23, 43 en 381... Verkeerd gesorteerd dus. Terwijl ik gewoon wil dat de ordering aangehouden wordt zoals ik in de query heb staan. Niet van groot naar klein of van klein naar groot maar gewoon als het hierboven staat.
Nu heb ik wel wat afgezocht en in de manual zitten lezen maar ik lees er blijkbaar overheen ofzo? Het vervelende is dat "IN" een nogal veelgebruikt woordje is en het erg lastig zoeken is....
Nu heb ik wel al een oplossing hoor;
code:
1
2
3
4
| SELECT categories_name FROM `categories` WHERE categories_id IN ( 43, 23, 381 ) |
Ik wil dus de rijen hebben waarbij categories_id de waarde 43, 23 of 381 bevat. Gaat prima, alleen krijg ik de inhoud terug als 23, 43 en 381... Verkeerd gesorteerd dus. Terwijl ik gewoon wil dat de ordering aangehouden wordt zoals ik in de query heb staan. Niet van groot naar klein of van klein naar groot maar gewoon als het hierboven staat.
Nu heb ik wel wat afgezocht en in de manual zitten lezen maar ik lees er blijkbaar overheen ofzo? Het vervelende is dat "IN" een nogal veelgebruikt woordje is en het erg lastig zoeken is....
Nu heb ik wel al een oplossing hoor;
Maar dat lijkt me een tikkeltje overdreven?SELECT categories_id
FROM `categories`
WHERE categories_id
IN ( 43, 23, 381 )
ORDER BY CASE categories_id
WHEN '43'
THEN 1
WHEN '23'
THEN 2
WHEN '381'
THEN 3
ELSE 999
END LIMIT 0 , 30
Q350+ComfoClime24 Ubbink aerfoam / Air Excellent & Renson Easyflex