node-firebird icon indicating copy to clipboard operation
node-firebird copied to clipboard

Query column order

Open semiautomatix opened this issue 8 years ago • 1 comments

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

semiautomatix avatar Oct 21 '16 08:10 semiautomatix

Update: using db.execute seems to return the correct column order.

semiautomatix avatar Oct 21 '16 08:10 semiautomatix