变量不适用于子查询

2020-08-20 04:08发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


选择T50。" CardCode",
 T50。" ItemCode",
 总和(T50。"上个月数量")"上个月数量",
 总和(T50。来自"数量2 Mos Ago")的"数量2 Mos Ago"来自
 (
 选择T0。" CardCode",
 T1。" ItemCode",
 0"上个月数量",
 Cast(Sum(T1。" Quantity")as int)" Qty 2 Mos Ago"
 从OINV T0
 内联接INV1 T1在T0上。" DocEntry" = T1。" DocEntry"
 其中T0。" CANCELED" ='N'AND
 T0。介于ADD_DAYS(LAST_DAY(ADD_MONTHS(CURRENT_DATE,-3)),1)和之间的" DocDate"
 Last_Day(ADD_MONTHS(CURRENT_DATE,-2))
 按T0。" CardCode",T1。" ItemCode"分组

 联合所有

 选择T0。" CardCode",
 T1。" ItemCode",
 Cast(Sum(T1。" Quantity")as int)"上个月数量",
 0"前2个Mos Ago"
 从OINV T0
 内联接INV1 T1在T0上。" DocEntry" = T1。" DocEntry"
 其中T0。" CANCELED" ='N'AND
 T0。" DocDate"介于ADD_DAYS(LAST_DAY(ADD_MONTHS(CURRENT_DATE,-2)),1)和
 Last_Day(ADD_MONTHS(CURRENT_DATE,-1))
 按T0。" CardCode",T1。" ItemCode"分组
 )
 T50
 其中T50。" CardCode" = [%1]
 按T50分组。" CardCode",
 T50。" ItemCode"
 在T50之前订购。" CardCode",
 T50。" ItemCode"
 

where子句:where T50。" CardCode" = [%1]导致其引发以下错误:

语法错误或访问冲突; 257 sql语法错误:第1行col 8''(SWEI)(在pos 8)

谢谢。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


选择T50。" CardCode",
 T50。" ItemCode",
 总和(T50。"上个月数量")"上个月数量",
 总和(T50。来自"数量2 Mos Ago")的"数量2 Mos Ago"来自
 (
 选择T0。" CardCode",
 T1。" ItemCode",
 0"上个月数量",
 Cast(Sum(T1。" Quantity")as int)" Qty 2 Mos Ago"
 从OINV T0
 内联接INV1 T1在T0上。" DocEntry" = T1。" DocEntry"
 其中T0。" CANCELED" ='N'AND
 T0。介于ADD_DAYS(LAST_DAY(ADD_MONTHS(CURRENT_DATE,-3)),1)和之间的" DocDate"
 Last_Day(ADD_MONTHS(CURRENT_DATE,-2))
 按T0。" CardCode",T1。" ItemCode"分组

 联合所有

 选择T0。" CardCode",
 T1。" ItemCode",
 Cast(Sum(T1。" Quantity")as int)"上个月数量",
 0"前2个Mos Ago"
 从OINV T0
 内联接INV1 T1在T0上。" DocEntry" = T1。" DocEntry"
 其中T0。" CANCELED" ='N'AND
 T0。" DocDate"介于ADD_DAYS(LAST_DAY(ADD_MONTHS(CURRENT_DATE,-2)),1)和
 Last_Day(ADD_MONTHS(CURRENT_DATE,-1))
 按T0。" CardCode",T1。" ItemCode"分组
 )
 T50
 其中T50。" CardCode" = [%1]
 按T50分组。" CardCode",
 T50。" ItemCode"
 在T50之前订购。" CardCode",
 T50。" ItemCode"
 

where子句:where T50。" CardCode" = [%1]导致其引发以下错误:

语法错误或访问冲突; 257 sql语法错误:第1行col 8''(SWEI)(在pos 8)

谢谢。

付费偷看设置
发送
4条回答
派大星 ヾ
1楼-- · 2020-08-20 04:18

有时查询管理器不理解某些查询。

在这种情况下,最好的选择是使用正确的参数创建新的存储过程,即查询和执行 来自查询Mananger

亲切的问候

Agustín

d56caomao
2楼-- · 2020-08-20 04:40

我不确定您的意思。 您可以澄清吗?

小熊yu生菜
3楼-- · 2020-08-20 04:29

嗨,

您必须在查询本身中声明卡代码的参数,

将@BpCode声明为nvarchar(max)

设置@BpCode =(从OCRD Ta中选择Ta。" CardCode",其中Ta。" CardType" ='c')

选择T50。" CardCode", T50。" ItemCode", 总和(T50。"上个月数量")"上个月数量", 总和(T50。来自"数量2 Mos Ago")的"数量2 Mos Ago"来自 ( 选择T0。" CardCode", T1。" ItemCode", 0"上个月数量", Cast(Sum(T1。" Quantity")as int)" Qty 2 Mos Ago" 从OINV T0 内联接INV1 T1在T0上。" DocEntry" = T1。" DocEntry" 其中T0。" CANCELED" ='N'AND T0。介于ADD_DAYS(LAST_DAY(ADD_MONTHS(CURRENT_DATE,-3)),1)和之间的" DocDate" Last_Day(ADD_MONTHS(CURRENT_DATE,-2)) 按T0。" CardCode",T1。" ItemCode"分组 联合所有 选择T0。" CardCode", T1。" ItemCode", Cast(Sum(T1。" Quantity")as int)"上个月数量", 0"前2个Mos Ago" 从OINV T0 内联接INV1 T1在T0上。" DocEntry" = T1。" DocEntry" 其中T0。" CANCELED" ='N'AND T0。" DocDate"介于ADD_DAYS(LAST_DAY(ADD_MONTHS(CURRENT_DATE,-2)),1)和 Last_Day(ADD_MONTHS(CURRENT_DATE,-1)) 按T0。" CardCode",T1。" ItemCode"分组 ) T50 其中T50。" CardCode" = @BpCode 按T50分组。" CardCode", T50。" ItemCode" 通过T50。" CardCode"订购, T50。" ItemCode"

问候,

Nagarajan

宇峰Kouji
4楼-- · 2020-08-20 04:39

嗨Nagarajan,

感谢您的回复。 我按原样使用了您提供的代码,以尝试学习您提供的新代码,但出现此错误:

语法错误或访问冲突; 257 sql语法错误:"声明"附近的语法不正确:第1行" col 1"(SWEI)(在pos 1)

一周热门 更多>