So er den eneste måde at sortere på ved at bruge union:
select 1 as sort, * from dinTabel where id=1 union select 2 as sort, * from dinTabel where id=3 union select 3 as sort, * from dinTabel where id=5 union select 4 as sort, * from dinTabel where id=7 order by sort
Som du kan se, bliver du så nød til at løbe dit array igennem, og dynamisk opbygge sql-strengen.
Uhm, den SQL sætning vil ikke kunne køre uden en fejlmeddelelse:
SELECT * FROM countries WHERE iso_code IN ('UK', 'US') ORDER BY iso_code DESC
Hvis der kun er de to værdier, 'UK' og 'US', kan sorteringsrækkefølgen ordnes med at vælge ASC i stedet for DESC.
Der er ikke indbygget noget sortering i IN-kommandoen. For at klare situationen hvor der er mere end to værdier, er du nødt til at ty til en løsning á la det fennec foreslår i 26/06-2006 08:29:07.
BTW: ISO-landekoden plejer da normalt at være et tal og ikke 'UK' eller 'US'?
Synes godt om
Slettet bruger
26. juni 2006 - 11:33#12
Jeg tror det er nemmere at lade arrayet køre igennemt et loope og så lave en forespørgsel ved hver gennemløb. Jeg tænkte bare der måske var noget smart man kunne gøre med arrays og mysql query.
tak for hjælpen
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.