Java 从mulesoft中的数据库检索记录时不保留列顺序

Java 从mulesoft中的数据库检索记录时不保留列顺序,java,mule,mulesoft,mule4,Java,Mule,Mulesoft,Mule4,数据库连接器返回结果的顺序不正确。执行select查询时,结果返回的顺序与select语句的顺序不匹配 数据库查询给出的结果集的列顺序与JDBC组件在执行同一查询时返回的列顺序不同 第一个查询提供列: 选择列名称 从中选择列名称,大小写为 子字符串COLUMN\u NAME,1,CHARINDEX“uu”,COLUMN\u NAME,1-CHARINDEX“uu”时的大小写,COLUMN\u NAME,1=0,然后0,否则1结束=然后COLUMN\u NAME,否则子字符串COLUMN\u NA

数据库连接器返回结果的顺序不正确。执行select查询时,结果返回的顺序与select语句的顺序不匹配

数据库查询给出的结果集的列顺序与JDBC组件在执行同一查询时返回的列顺序不同

第一个查询提供列:

选择列名称 从中选择列名称,大小写为 子字符串COLUMN\u NAME,1,CHARINDEX“uu”,COLUMN\u NAME,1-CHARINDEX“uu”时的大小写,COLUMN\u NAME,1=0,然后0,否则1结束=然后COLUMN\u NAME,否则子字符串COLUMN\u NAME,1,CHARINDEX“uu”,COLUMN\u NAME,1-CHARINDEX“uu”,COLUMN\u NAME时的大小写,1=0,然后0 ELSE 1 END END GROUP_NAME从信息_SCHEMA.COLUMNS中选择表_NAME='XYZ'作为测试数据,GROUP_NAME在'A','B'中 第二个查询使用列和返回数据:

从XYZ中选择ColumnNames 这和

SELECT X,Y FROM XYZ
答复如下:

Y、 X

而不是

十、 y


我需要保留订单。

请提供有关该问题的更多上下文。为什么需要保留结果的顺序?您是否在DataWeave中使用字符串连接来创建第二个查询?您正在从Java方法执行JDBC查询以进行比较吗?第一个查询和第二个查询的区别是什么?用例并不完全清楚。也许如果你用XML显示更完整的流程片段作为文本,没有屏幕截图,那么理解逻辑就更容易了。另外,第二次转换的输入示例在UI方面也会有所帮助,我需要保留顺序。第一个查询按顺序从表中获取所有列,我在第二个查询中使用所有列来获取数据。第一个查询结果:X,Y,所以第二个查询是从ABC表中选择X,Y,但结果是Y,X,但我在transfrom消息中使用了以下代码解决了它:%dw 2.0 var a=有效负载映射值,key->vars.groupColumn.COLUMN_NAME mapval->value filterObject值,key->val包含键var结果=映射$reduce项,acc->acc++项目输出应用程序/json结果映射$