首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用不同的Axapta计数

使用不同的Axapta计数
EN

Stack Overflow用户
提问于 2014-08-26 00:10:34
回答 1查看 2.8K关注 0票数 1

我想让这个查询在axapta中工作。

代码语言:javascript
复制
Select Count(Distinct CUSTACCOUNT), YEARMONTH
From ALT_CUSTOMERSALES As AC 
Where INVOICEDATE >= DateAdd(Day, -90, GetDate())
Group By YEARMONTH

其中,ALT_CUSTOMERSALES是将SalesTableCustInvoiceJour关联起来的视图。我正在寻找销售给每月唯一的客户。我尝试在视图和CustTable之间使用子句existjoin,但是group by不起作用。有什么建议吗?

这是我的代码:

代码语言:javascript
复制
Query                   query = new Query('miQuery');
QueryBuildDataSource    vsQBDS, custTaQBDS;
QueryBuildRange         qbr1;
QueryRun                qr;

months = 3;
dPeriod = DateTimeUtil::date(DateTimeUtil::addDays(DateTimeUtil::utcNow(), months * -30));

custTaQBDS = query.addDataSource(tableNum(CustTable));

custTaQBDS.addSelectionField(fieldNum(CustTable, AccountNum), SelectionField::Count);

vsQBDS = custTaQBDS.addDataSource(tableNum(ALT_CustomerSales));

vsQBDS.fields().addField(fieldNum(ALT_CustomerSales, YearMonth));

vsQBDS.relations(false);
vsQBDS.joinMode(JoinMode::ExistsJoin);
vsQBDS.addLink(fieldNum(ALT_CustomerSales, CustAccount), fieldNum(CustTable, AccountNum));

qbr1 = vsQBDS.addRange(fieldNum(ALT_CustomerSales, InvoiceDate));
qbr1.value(strFmt("(%2 > %1)", date2StrXpp(dPeriod), fieldStr(ALT_CustomerSales, InvoiceDate)));

//vsQBDS.addGroupByField(fieldNum(ALT_CustomerSales, YearMonth));

qr = new QueryRun(query);
EN

回答 1

Stack Overflow用户

发布于 2014-08-26 04:30:40

如果您将生成的SQL查询与它一起发布,则会更容易。

顺便说一句,你不需要distinct,在两个字段上分组就足够了。

代码语言:javascript
复制
SELECT YEARMONTH, COUNT(CustAccount)
FROM ALT_CUSTOMERSALES as ac
WHERE INVOICEDATE >= ''
GROUP BY YEARMONTH, CUSTACCOUNT
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25490047

复制
相关文章

相似问题

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