无法绑定由多个部分组成的标识符

shoucj 2016-09-20 03:50:38
select RdRecords.cSOCode as 销售订单号,RdRecord.cCode as 单据号,RdRecord.dDate as 入库日期,RdRecords.cInvCode as 存货编码,
RdRecords.iQuantity as 数量,linshi.单价,linshi.不含佣金单价,SO_SOMain.cCusCode as 客户编码,SO_SOMain.cexch_name as 币种
from RdRecords inner join (select cSOCode as 销售订单号1,cInvCode as 存货编码1,max(iUnitPrice) as 单价,max(cDefine27) as
不含佣金单价 from SO_SODetails group by cSOCode,cInvCode) as linshi on RdRecords.cSOCode = linshi.销售订单号1 and
RdRecords.cInvCode = linshi.存货编码1 inner join RdRecord on RdRecords.ID = RdRecord.ID inner join SO_SOMain on
RdRecords.cSOCode = SO_SOMain.cSOCode

不知道大家有没有了解用友的,我在设计用友自定义报表,写了如上代码,运行正常,但是,当加入过滤项目的时候(通过用友软件),比如我要搜索一个日期区间,就会提示“无法绑定由多个部分组成的标识符RdRecord.dDate,不知道怎么回事,请大师看看我这段代码写的有什么问题么?
非常感谢。
...全文
216 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
a13874388590 2018-12-03
  • 打赏
  • 举报
回复
SELECT CONVERT(VARCHAR(10),Bas_VendorAndCus.CreateDateTime, 120) AS datetime,
(SELECT COUNT(*) FROM Bas_VendorAndCus) AS total,(ISNULL((SELECT Count(*) FROM dbo.Bas_VendorAndCus),0))
shoucj 2016-09-20
  • 打赏
  • 举报
回复
哈哈,找到问题了,是因为在用友的自定义报表中设置过滤项后,当一旦录入过滤项目,系统就会自动在group by前面加where语句进行过滤,很明显,在这段语句里如果吧where语句插入到group by中是错误的。 解决方案:在语句最后加入group by或where,系统就能找到需要插入语句的地方了,问题就解决了。 谢谢大家。
卖水果的net 2016-09-20
  • 打赏
  • 举报
回复
这几个对象全是表吗?有没有视图; 给表 RdRecord 取个别名试试,目测语法上没有问题的;
Mr_Nice 2016-09-20
  • 打赏
  • 举报
回复
没看到有什么特殊的地方. 帮整理格式先
SELECT  RdRecords.cSOCode AS 销售订单号 ,
        RdRecord.cCode AS 单据号 ,
        RdRecord.dDate AS 入库日期 ,
        RdRecords.cInvCode AS 存货编码 ,
        RdRecords.iQuantity AS 数量 ,
        linshi.单价 ,
        linshi.不含佣金单价 ,
        SO_SOMain.cCusCode AS 客户编码 ,
        SO_SOMain.cexch_name AS 币种
FROM    RdRecords
        INNER JOIN ( SELECT cSOCode AS 销售订单号1 ,
                            cInvCode AS 存货编码1 ,
                            MAX(iUnitPrice) AS 单价 ,
                            MAX(cDefine27) AS 不含佣金单价
                     FROM   SO_SODetails
                     GROUP BY cSOCode ,
                            cInvCode
                   ) AS linshi ON RdRecords.cSOCode = linshi.销售订单号1
                                  AND RdRecords.cInvCode = linshi.存货编码1
        INNER JOIN RdRecord ON RdRecords.ID = RdRecord.ID
        INNER JOIN SO_SOMain ON RdRecords.cSOCode = SO_SOMain.cSOCode;

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧