我一直在努力将其转换为XML,有人可以建议显示相同的信息,但这次是用XML格式。
SQL在
之下select so.ordernumber,
sod.productidname,
so.statuscode,
so.statuscodename,
sod.quantity,
sod.quantityshipped,
ip.pcssu_quantityavailable,
so.pcssu_stockavailable
from FilteredSalesOrder so
inner join FilteredSalesOrderDetail sod
on sod.salesorderid = so.salesorderid
inner join filteredaccount a
on a.accountnumber = so.pcssu_servicecentrecode
inner join Filteredpcssu_inventoryproduct ip
on ip.pcssu_product = sod.productid
and ip.pcssu_servicecenter = a.accountid
where so.statuscode = '141560004'
and ip.pcssu_quantityavailable >= sod.quantity - sod.quantityshipped
我设法将上面的大部分转换为XML而没有和声明,转换器提出了错误提及
错误:WHERE子句中仅支持主实体的条件,请考虑移动别名的条件' ip'到它的JOIN的ON条款。 请注意,由于FetchXML查询的限制,并非所有SQL查询都可以转换为FetchXML。
请告知可能移动和加入和抛出错误的声明是
where so.statuscode = '141560004'
and ip.pcssu_quantityavailable >= sod.quantity - sod.quantityshipped
下面是没有AND
的转换XML<fetch mapping="logical" version="1.0">
<entity name="SalesOrder">
<attribute name="ordernumber" />
<attribute name="statuscode" />
<attribute name="statuscodename" />
<attribute name="pcssu_stockavailable" />
<filter>
<condition attribute="statuscode" operator="eq" value="141560004" />
</filter>
<link-entity name="SalesOrderDetail" from="salesorderid" to="salesorderid" alias="sod" link-type="inner">
<attribute name="productidname" />
<attribute name="quantity" />
<attribute name="quantityshipped" />
<link-entity name="pcssu_inventoryproduct" from="pcssu_product" to="productid" alias="ip" link-type="inner">
<attribute name="pcssu_quantityavailable" />
</link-entity>
</link-entity>
<link-entity name="account" from="accountnumber" to="pcssu_servicecentrecode" alias="a" link-type="inner" />
</entity>
</fetch>
答案 0 :(得分:0)
--xml
命令行工具中有一个简单的xml输出 - 请参阅此处 - XML output from MySQL
命令行参数<row><field name="id">1</field><field name="name">myname</field></row>
- 但输出如下{{1}}
答案 1 :(得分:0)
ip.pcssu_quantityavailable >= sod.quantity - sod.quantityshipped
基本上这种基于算术公式的滤波器无法在fetchxml中实现。在某些情况下,您需要Rollup字段或Calculated字段才能达到相同目的。
否则你可以获取结果集&amp;在您自己的代码中过滤/计算。