in reply to Select quuery result sets

Hashes/hashrefs do no guarantee any order returned via keys or values.

Use fetchrow_arrayref() or fetchrow_array() with positions (0,1,2,3,4...), or if you feel like pre-defining the variables, use bind_col() or bind_columns().

See:
http://search.cpan.org/~timb/DBI/DBI.pm#fetchrow_arrayref
http://search.cpan.org/~timb/DBI/DBI.pm#bind_col

Replies are listed 'Best First'.
Re^2: Select quuery result sets
by locked_user sundialsvc4 (Abbot) on Aug 25, 2010 at 20:51 UTC

    Hence my suggestion, above, that the simplest approach is simply to remove any assumptions (hence, dependencies) upon the order of the field-names in the query.     Since you have full control over the entire procedure, simply deal with the two problems separately.   The SELECT statement only need make sure that the necessary columns are returned.   Build a separate (Perl) list containing the column-names in the order that you need to present them.   Then, iterate through that list.   Problem (neatly) solved.