首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于给定条件的Mule-Join两个DB表结果

基于给定条件的Mule-Join两个DB表结果
EN

Stack Overflow用户
提问于 2017-12-08 16:18:32
回答 0查看 1.2K关注 0票数 0

我需要根据给定的条件连接来自两个数据库表的输出。条件是:如果第一个表中的列的值与第二个表中的列的值相同,则将这两个表中的行连接到一个表中,否则跳过该行。

我的代码如下所示:

代码语言:javascript
复制
    <?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:json="http://www.mulesoft.org/schema/mule/json" xmlns:dw="http://www.mulesoft.org/schema/mule/ee/dw" xmlns:db="http://www.mulesoft.org/schema/mule/db" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
    xmlns:spring="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/db http://www.mulesoft.org/schema/mule/db/current/mule-db.xsd
http://www.mulesoft.org/schema/mule/ee/dw http://www.mulesoft.org/schema/mule/ee/dw/current/dw.xsd
http://www.mulesoft.org/schema/mule/json http://www.mulesoft.org/schema/mule/json/current/mule-json.xsd">
    <db:mysql-config name="MySQL_Configuration" host="xyz.com" port="3306" user="userXXX" password="****" database="bd" doc:name="MySQL Configuration"/>
    <expression-filter expression="#[flowVars.payload1.seatsAvailable != flowVars.payload2.seatsAvailable]" name="Expression" doc:name="Expression"/>
    <flow name="studyFlow">
        <poll doc:name="Poll">
            <fixed-frequency-scheduler frequency="1" timeUnit="HOURS"/>
            <db:select config-ref="MySQL_Configuration" doc:name="Database">
                <db:parameterized-query><![CDATA[select * from table1]]></db:parameterized-query>
            </db:select>
        </poll>
        <set-variable variableName="payload1" value="#[payload]" doc:name="resultFromTable1"/>
        <db:select config-ref="MySQL_Configuration" doc:name="Database">
            <db:parameterized-query><![CDATA[select * from table2]]></db:parameterized-query>
        </db:select>
        <logger message="payload from american #[payload[0]]" level="INFO" doc:name="Logger"/>
        <set-variable variableName="payload2" value="#[payload]" doc:name="resultFromTable2"/>
        <dw:transform-message doc:name="Transform Message">
            <dw:set-payload><![CDATA[%dw 1.0
%output application/java
%var count = 0
---
flowVars.payload1 map using (id = $.code2) {

         (flowVars.payload2 filter ($.code2 contains id)  map {

            //col1:flowVars.payload2.code2,
            col2: flowVars.payload1.toAirport

     })
  }
  ]]></dw:set-payload>
        </dw:transform-message>

        <logger message="#[payload]" level="INFO" doc:name="Logger"/>
    </flow>
</mule>

但是这并没有给我适当的输出。请帮帮忙。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47710265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档