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

SQL语句如下:updateself2setyshkze=s.yskze--self2表的应收款总额=临时表S的应收款总额fromself2receivablesbill... SQL 语句如下:
update self2
set yshkze=s.yskze --self2表的应收款总额=临时表S的应收款总额
from self2 receivablesbill,
(
select distinct(skxm),
sum(CASE WHEN receivablesbill.jhysrq IS NOT NULL THEN receivablesbill.yfkje ELSE 0 END) yskze --当应收款日期非空的时候,求应收款金额合计,否则为零
from receivablesbill
group by skxm
) s
where self2.xmmc=s.skxm
------------------------------------------------------------------------------------------------------

错误结果如下:
消息 4104,级别 16,状态 1,第 1 行
无法绑定由多个部分组成的标识符 "self2.xmmc"。

请SQL专家指教
首先谢谢叶子的小情意,给予第一时间的解惑。
最终自己发现了问题,已经修正解决,结果如下:

update self2
set yshkze=s.yskze --self2表的应收款总额=临时表S的应收款总额
from self2, receivablesbill, --self2 后面增加个逗号,否则认为receivablesbill为self2的别名,问题就出现在这里。
(
select distinct(skxm),
sum(CASE WHEN receivablesbill.jhysrq IS NOT NULL THEN receivablesbill.yfkje ELSE 0 END) yskze --当应收款日期非空的时候,求应收款金额合计,否则为零
from receivablesbill
group by skxm
) s
where self2.xmmc=s.skxm
展开
 我来答
greystar_cn
推荐于2017-09-22 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部
出现这种错误 ,主要问题是因给未给列明确指定所属的表。如二个表同时有相同的列,就需要显示指定是哪个表。
示例如下,下面列中ID需要明确为a.ID 或b.ID
select ID,b.other from table a left ouer join table b on a.id=b.id -- 出错,明确为A.ID即可。
叶子的小情意
2015-01-21 · TA获得超过300个赞
知道小有建树答主
回答量:244
采纳率:0%
帮助的人:142万
展开全部
出现这个错误,绝大部分是因为多个表存在同名字段,建议给表取个别名

update self2 sf2 --取别名
set sf2.yshkze=s.yskze --self2表的应收款总额=临时表S的应收款总额
from self2 receivablesbill,
(
select distinct(skxm),
sum(CASE WHEN receivablesbill.jhysrq IS NOT NULL THEN receivablesbill.yfkje ELSE 0 END) yskze --当应收款日期非空的时候,求应收款金额合计,否则为零
from receivablesbill
group by skxm
) s
where sf2.xmmc=s.skxm--使用别名.字段名去链接

试下这个
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式