Mainataining Column Order in Recordset

Snitz™ Forums 2000
https://forum.snitz.com/forumTopic/Posts/70032?pagenum=1
04 November 2025, 23:52

Topic


Shaggy
Mainataining Column Order in Recordset
27 October 2011, 11:35


OK, bare with me here, my brain's a bit mushy at the moment!
Say, for example, I have a table (ONE) with 5 records in it, each with a unique ID. In another table (TWO) I have some records, each with 5 columns. Using those 5 columns in TWO, I want to select the information from ONE ordering it by the order of the columns in TWO.
So my tables would be:
Code:
ONE
---
ID FIELD
1 abc
2 def
3 ghi
4 jkl
5 mno

TWO
---
ID COL1 COL2 COL3 COL4 COL5
1 3 1 2 5 4
And my query would be:
Code:
SELECT O.FIELD FROM ONE O,TWO T WHERE O.ID IN (T.COL1,T.COL2,T.COL3,T.COL4,T.COL5) AND T.ID=1
And I want the returned recordset to be in the order:
  • ghi
  • abc
  • def
  • mno
  • jkl
Any suggestions on how I'd achieve that without using any more tables or columns?
<edit>Figured it out - forgot I'd managed to achieve this before using MySQL's "FIELD" function. So now my query looks like this:
Code:
SELECT O.FIELD FROM ONE O,TWO T WHERE O.ID IN (T.COL1,T.COL2,T.COL3,T.COL4,T.COL5) AND T.ID=1 ORDER BY FIELD(O.ID,T.COL1,T.COL2,T.COL3,T.COL4,T.COL5)
And returns the recordset in the desired order. Huzzah! smile</edit>

 

Replies ...


Carefree
27 October 2011, 11:58


LOL Shaggy, maybe your brain was a bit mushy. You meant "bear with me" vs "bare with me" (which means to denude or to strip). I don't think anyone taking their clothing off would have helped think through the process.
Shaggy
27 October 2011, 12:48


I say what I mean and I mean what I say! tongue
© 2000-2021 Snitz™ Communications