点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
选择T0。[CardCode],T0。[CardName],T2。[Name],T2。[E_MailL],T0。[DocDate],T0。[DocNum],T1。[ItemCode],T1。[Dscription ]来自OINV T0内联接INV1 T1接通T0。[DocEntry] = T1。[DocEntry]内联接OCPR T2接通T0.CntctCode = T2.CntctCode内联接OCRD T3接通T0.CardCode = T3.CardCode WHERE T3。[CardFName] ='[%0]'和T1。[说明]喜欢'%[%2]%'
您好,大师,此查询有效,但是我只想显示每个客户的最后一张发票。 SAP和sql的新手,但是我相信这是您使用DISTINCT和TOP子句的地方? 我该如何应用?
嗨,Pia,
您是对的,TOP 1将为您提供所需的东西,但是请注意,在这种情况下,您需要将其与ORDER BY子句结合使用
此致
Johan
Hi Pia,
当查询返回的结果少于预期时,通常是由于WHERE子句或INNER联接,有时两者都有。
找出错误地限制结果集的最佳方法是查看原始结果,您希望该结果会显示在经过调整的查询中。
除此之外,这是两个测试,第一个测试是查看问题是否在联接中,另一个是查看是否在WHERE子句中:
----------------------
----------------------
----------------------
现在,如果此方法不起作用,我们将不得不再次查看该查询。
此致
Johan
请参阅Johan的答案
但使用:ORDER BY T0.DocEntry DESC:代替:ORDERBY T0。[DocDate] DESC,T0。[DocNum] DESC
如果您有多个系列,则文档编号不能是最高编号。
感谢Teun的提示! 我也尝试过,只返回了一条记录。 希望查询返回每个客户匹配的最后发票。
嗨,
尝试此查询,
选择T0。[CardCode],T0。[CardName],T0。[DocNum],T1。[DocEntry],T0。[DocDate],T1。[ItemCode],T1。[Dscription],T1。[Quantity ] from OINV T0内连接INV1 T1在T0上。[DocEntry] = T1。[DocEntry]内连接OCRD T2在T0上。[CardCode] = T2。[CardCode] W0位置T0。[DocNum] IN(选择MAX(Ta.Docnum )从OINV Ta,其中Ta.Cardcode = T0.Cardcode)ORDER BY T0。[CardCode]
此致
Nagarajan
一周热门 更多>