0

我需要在第二个查询中引用一个查询的 sql 数据作为参数值。

例如:

select order_no, order_date, customer
from orders;

select payment_no, payment_date, amount
from payments
where order_no = [:order_no];

这在 XML 中可能吗?

4

1 回答 1

0

这是解决方案。

方法一绑定变量:

<dataQuery>
 <sqlStatement name="Q1">
 <![CDATA[ 
    SELECT order_no, order_date, customer from orders 
 ]]> 
 </sqlStatement>
 <sqlStatement name="Q2">
  <![CDATA[ 
     SELECT  payment_no, payment_date, amount
     from payments where order_no = :order_no ]]> 
 </sqlStatement>
</dataQuery>

我们只需要在第二个查询中使用冒号 (:) 进行引用。

方法二查询链接:

 <dataQuery>  
<sqlStatement name="Q1">  
<![CDATA[ 
     SELECT order_no, order_date, customer from orders  ]]>   
</sqlStatement>  
<sqlStatement name="Q2">   
<![CDATA[ 
      SELECT  payment_no, payment_date, amount
          from payments ]]>   
</sqlStatement> 
<link name="ORDER_LINK" parentQuery="Q1" parentColumn="ORDER_NO" childQuery="Q_2" childColumn="ORDER_NO"/> 
</dataQuery>
于 2015-10-12T04:53:48.400 回答