gpt4 book ai didi

axapta - 同时选择并加入firstOnly

转载 作者:行者123 更新时间:2023-12-02 22:15:13 25 4
gpt4 key购买 nike

我有机会像这样加入两张 table 吗?

while select  SalesId from salesTable
//group by SalesId
where salesTable.SalesId == "xxx006932683"
join firstOnly SalesPrice, ItemId, LineNum from salesLine
//group by SalesId
order by salesLine.LineDisc asc, salesLine.SalesPrice desc
where salesLine.SalesId == salesTable.SalesId
{
info(strFmt("Sales id : %1 line %2 item %3 price %4", salesLine.SalesId, salesLine.LineNum, salesLine.ItemId, salesLine.SalesPrice));
}

因此,对于 SalesTable 中的每一行,将其与 SalesLine 中具有相同 SalesId 并满足订单条件的唯一一行连接起来.

说实话,我已经尝试了很多分组、排序以及 maxOfs、minOfs 但没有成功......所以在这里我想寻求一个想法。

最佳答案

您不能在一个 select 语句中执行此操作。首先,您可以在销售行上创建一个 View ,并根据您需要的字段对 SalesId 和 maxOf、minOf 等进行分组。此 View 应该只为每个 SalesId 返回一条记录。您可以将此 View 加入到销售表中。

如果您只想获取第一行订单,那么您必须进行嵌套选择。最好的方法是创建一个包含您需要的字段的临时表并用数据填充它。

while select SalesId from salesTable
{
select firstOnly SalesPrice, ItemId, LineNum from salesLine
order by salesLine.LineDisc asc, salesLine.SalesPrice desc
where salesLine.SalesId == salesTable.SalesId
;

//insert into temp table

info(strFmt("Sales id : %1 line %2 item %3 price %4", salesLine.SalesId, salesLine.LineNum, salesLine.ItemId, salesLine.SalesPrice));
}

但在你的情况下(因为你有 SalesId <- unique 上的 where 语句),这会很好地工作

select firstOnly SalesPrice, ItemId, LineNum from salesLine
order by salesLine.LineDisc asc, salesLine.SalesPrice desc
where salesLine.SalesId == "xxx006932683";

关于axapta - 同时选择并加入firstOnly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42941425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com