node-firebird
node-firebird copied to clipboard
Query column order
Good day
I'm running the following query:
SELECT null "BRANCH", 'SOH' NAME, null "001", null "050", null "055", null "060 ", null "065", null "070", null "075", null "080", null "085", null "090", null "095", null "100", null "105", null "110", null "120" FROM RDB$DATABASE union all SELECT BRANCH "BRANCH", NAME,CAST(COALESCE(MAX( DECODE( SIZE_ID,297, CAST(COALESCE(SOH, 0) AS varchar(20)), NULL ) ),0) AS numeric) "001",CAST(COALESCE(MAX( DECODE( SIZE_ID,750, CAST(COALESCE(SOH, 0) AS varchar(20)), NULL ) ),0) AS numeric)"050", CAST(COALESCE(MAX( DECODE( SIZE_ID,751, CAST(COALESCE(SOH, 0) AS varchar (20)), NULL ) ),0) AS numeric)"055",CAST(COALESCE(MAX( DECODE( SIZE_ID,752, CAST (COALESCE(SOH, 0) AS varchar(20)), NULL ) ),0) AS numeric)"060",CAST( COALESCE(MAX( DECODE( SIZE_ID,753, CAST(COALESCE(SOH, 0) AS varchar(20)), NULL ) ),0) AS numeric) "065",CAST(COALESCE(MAX( DECODE( SIZE_ID,754, CAST(COALESCE(SOH, 0) AS varchar(20)), NULL ) ),0) AS numeric)"070",CAST(COALESCE(MAX( DECODE( SIZE_ID,755, CAST(COALESCE(SOH, 0) AS varchar(20)), NULL ) ),0) AS numeric)"075",CAST(COALESCE( MAX( DECODE( SIZE_ID,756, CAST(COALESCE(SOH, 0) AS varchar(20)), NULL ) ),0) AS numeric)"080",CAST(COALESCE(MAX( DECODE( SIZE_ID,757, CAST(COALESCE(SOH, 0) AS varchar(20)), NULL ) ),0) AS numeric)"085",CAST(COALESCE(MAX( DECODE( SIZE_ID,758, CAST(COALESCE(SOH, 0) AS varchar(20)), NULL ) ),0) AS numeric) "090",CAST(COALESCE(MAX( DECODE( SIZE_ID,759, CAST(COALESCE(SOH, 0) AS varchar(20)), NULL ) ), 0) AS numeric)"095",CAST(COALESCE(MAX( DECODE( SIZE_ID,760, CAST(COALESCE(SOH, 0 ) AS varchar(20)), NULL ) ),0) AS numeric)"100",CAST(COALESCE(MAX( DECODE( SIZE_ID,761, CAST(COALESCE(SOH, 0) AS varchar(20)), NULL ) ),0) AS numeric)"105",CAST (COALESCE(MAX( DECODE( SIZE_ID,762, CAST(COALESCE(SOH, 0) AS varchar(20)), NULL ) ),0) AS numeric)"110",CAST(COALESCE(MAX( DECODE( SIZE_ID, 764, CAST(COALESCE(SOH, 0) AS varchar(20)), NULL ) ),0) AS numeric)"120" FROM ( SELECT frms_BRANCH.BRC_CODE "BRANCH", SIZE_ID, COALESCE(SOH, 0) "SOH", frms_BRANCH.NAME FROM frms_STOCK, frms_ITEM, frms_BRANCH, FRMS_PARAMETER WHERE frms_STOCK.ITEM_ID = 127337 AND frms_ITEM.ID = frms_STOCK.ITEM_ID AND frms_BRANCH.ID = frms_STOCK.BRANCH_ID AND FRMS_PARAMETER.param_name = 'Intransit Branch' AND FRMS_BRANCH.ID != cast( FRMS_PARAMETER.param_char AS numeric)) GROUP BY BRANCH, NAME
only to receive the output:
[{"100":null,"105":null,"110":null,"120":null,"BRANCH":null,"NAME":"SOH","001":null,"050":null,"055":null,"060":null,"065":null,"070":null,"075":null,"080":null,"085":null,"090":null,"095":null},{"100":0,"105":0,"110":0,"120":0,"BRANCH":"101","NAME":"FASHION STUDIO","001":0,"050":1,"055":0,"060":3,"065":0,"070":2,"075":1,"080":2,"085":1,"090":2,"095":0}]
Clearly the columns are not in the order I queried them.
Why would this be?
Thanks
Update: using db.execute seems to return the correct column order.