点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我想删除结果中重复的ItemCode行。
保留第一个查询中的所有内容,并从第二个查询中删除那些已经在第一个查询中的内容。 事实是,其他列的某些值不相同,因此DISTINCT或UNION无法正常工作,但是如果我想保持最大的良好记录,则需要保持其他列的值不匹配。
我附了一个结果示例。 预先感谢!
这是我现在拥有的;
SELECT DISTINCT T1。[ItemCode], T2。[ItemName], SUM((((T1.Quantity)/365)* 1.15)作为"平均每日使用量", (T2。[OnHand]-T2。[IsCommited])为"可用", (T2。[OnHand]-T2。[IsCommited])-(T2。[LeadTime] *(SUM(T1.Quantity)/365)* 1.15)作为'Reste', T2。[LeadTime], MIN(T4。[ShipDate])作为"下一个交货日期", T4。[数量],案例 当(T2。[OnHand]-T2。[IsCommited])-(T2。[LeadTime] *(SUM(T1.Quantity)/365)* 1.15)> 0 THEN'OK' 当(T2。[OnHand]-T2。[IsCommited])-(T2。[LeadTime] *(SUM(T1.Quantity)/365)* 1.15)<= 0 AND(T2。[OnHand] + T4。[Quantity] ]-T2。[IsCommited])-(DATEDIFF(DD,GETDATE(),MIN(T4。[ShipDate]))*(SUM(T1.Quantity)/365)* 1.15)> 0然后'下次发货就可以了 ' 时间(T2。[手头]-T2。[已提交])-(T2。[LeadTime] *(SUM(T1.Quantity)/365)* 1.15)<= 0然后'***警告***' 当T2。[LeadTime]为NULL并且(T2。[OnHand] + T4。[Quantity]-T2。[IsCommited])-(DATEDIFF(DD,GETDATE(),MIN(T4。[ShipDate]))*(SUM (T1。数量)/365)* 1.15)> 0然后'确定' 当T2。[LeadTime]为NULL并且(T2。[OnHand] + T4。[Quantity]-T2。[IsCommited])-(DATEDIFF(DD,GETDATE(),MIN(T4。[ShipDate]))*(SUM (T1数量)/365)* 1.15)<= 0然后'***警告***' END作为"州", DATEDIFF(DD,GETDATE(),MIN(T4。[ShipDate]))作为"直到交货的天数" 从OIGE T0 内联接IGE1 T1到T0。[DocEntry] = T1。[DocEntry] 内部联接OITM T2在T2上。[ItemCode] = T1。[ItemCode] T3上的内部联接OITB T3。[ItmsGrpCod] = T2。[ItmsGrpCod] 内部联接POR1 T4在T2上。[ItemCode] = T4。[ItemCode] T2。[PrchseItem] ='Y'AND T2。[validFor] ='Y'AND T2。[TreeType] <>'P'AND T0.Docdate> = DATEADD(Year,-1,GETDATE())和左 (T1。[ItemCode],2)<>'O-'和T4。[ShipDate]> = GETDATE() GROUP BY T1。[ItemCode],T2。[ItemName],T2。[OnHand],T2。[已提交],T2。[LeadTime],T4。[数量],T2。[OnOrder] 全联盟 SELECT DISTINCT T1。[ItemCode], T2。[ItemName], SUM((((T1.Quantity)/365)* 1.15)作为"平均每日使用量", (T2。[OnHand]-T2。[IsCommited])为"可用", (T2。[OnHand]-T2。[IsCommited])-(T2。[LeadTime] *(SUM(T1.Quantity)/365)* 1.15)作为'Reste', T2。[LeadTime], 空值, 空,大写 当(T2。[OnHand]-T2。[IsCommited])-(T2。[LeadTime] *(SUM(T1.Quantity)/365)* 1.15)> 0 THEN'OK' 时间(T2。[手头]-T2。[已提交])-(T2。[LeadTime] *(SUM(T1.Quantity)/365)* 1.15)<= 0然后'***警告***' 当T2。[LeadTime]为NULL时'------------' END作为"州", '' 从OIGE T0 内联接IGE1 T1到T0。[DocEntry] = T1。[DocEntry] 内部联接OITM T2在T2上。[ItemCode] = T1。[ItemCode] T3上的内部联接OITB T3。[ItmsGrpCod] = T2。[ItmsGrpCod] T2。[PrchseItem] ='Y'AND T2。[validFor] ='Y'AND T2。[TreeType] <>'P'AND T0.Docdate> = DATEADD(Year,-1,GETDATE())和左 (T1。[ItemCode],2)<>'O-' GROUP BY T1。[ItemCode],T2。[ItemName],T2。[OnHand],T2。[IsCommited],T2。[LeadTime],T2。[OnOrder] T1的订单。[ItemCode] t21.jpgt21.jpg (59.8 kB)
塞巴斯蒂安嗨,
请尝试使用以下版本的查询:
此致
Johan
非常感谢Johan!
我做了一些小的修改,现在我已经修改了
一周热门 更多>