full join 的问题???

yesterday2000 2004-07-07 10:43:08
如:以下语句执行时会出错:
服务器: 消息 207,级别 16,状态 3,行 1
列名 'dkfid' 无效。
服务器: 消息 207,级别 16,状态 1,行 1
列名 'dkfid' 无效。
----------------------------郁闷,在SQL SERVER7.0里可以的,为什么到了2000就报错
select
isnull (a.dkfid,b.dkfid) as dkfid,
isnull (a.代销库存金额,0) as '代销库存金额',
isnull (a.月结库存金额,0) as '月结库存金额',
isnull (b.现金库存金额,0) as '现金库存金额',
isnull (b.混合库存金额,0) as '混合库存金额'
from
(select
isnull (d.dkfid,e.dkfid) as dkfid,
isnull (d.kcje,0) as '代销库存金额',
isnull (e.kcje,0) as '月结库存金额'
from
(select b.dkfid,sum(b.kcsl*b.kuccbj) as kcje
from #b a,sp_kfmx b
where a.dspid=b.dspid and a.beizhu like '%代销%'
group by b.dkfid) d
full join
(select b.dkfid,sum(b.kcsl*b.kuccbj) as kcje
from #b a,sp_kfmx b
where a.dspid=b.dspid and a.beizhu like '%月结%'
group by b.dkfid) e
on d.dkfid=e.dkfid ) a
full join
(select
isnull (f.dkfid,g.dkfid) as dkfif,
isnull (f.kcje,0) as '现金库存金额',
isnull (g.kcje,0) as '混合库存金额'
from
(select b.dkfid,sum(b.kcsl*b.kuccbj) as kcje
from #b a,sp_kfmx b
where a.dspid=b.dspid and a.beizhu like '%现金%'
group by b.dkfid) f
full join
(select b.dkfid,sum(b.kcsl*b.kuccbj) as kcje
from #b a,sp_kfmx b
where a.dspid=b.dspid
group by b.dkfid) g
on f.dkfid=g.dkfid) b
on a.dkfid=b.dkfid
...全文
124 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
duwolf1980 2004-07-08
  • 打赏
  • 举报
回复
有没有不用函数
yesterday2000 2004-07-07
  • 打赏
  • 举报
回复
老大就是老大!!!
yesterday2000 2004-07-07
  • 打赏
  • 举报
回复
谢谢
搞定
我晕,原来是写错字段了
郁闷
马上给分
yesterday2000 2004-07-07
  • 打赏
  • 举报
回复
报一样的错
zjcxc 元老 2004-07-07
  • 打赏
  • 举报
回复
你自己写错了一个字段名
zjcxc 元老 2004-07-07
  • 打赏
  • 举报
回复
select
isnull (a.dkfid,b.dkfid) as dkfid,
isnull (a.代销库存金额,0) as '代销库存金额',
isnull (a.月结库存金额,0) as '月结库存金额',
isnull (b.现金库存金额,0) as '现金库存金额',
isnull (b.混合库存金额,0) as '混合库存金额'
from (
select
isnull (d.dkfid,e.dkfid) as dkfid,
isnull (d.kcje,0) as '代销库存金额',
isnull (e.kcje,0) as '月结库存金额'
from (
select b.dkfid,sum(b.kcsl*b.kuccbj) as kcje
from #b a,sp_kfmx b
where a.dspid=b.dspid and a.beizhu like '%代销%'
group by b.dkfid
) d full join (
select b.dkfid,sum(b.kcsl*b.kuccbj) as kcje
from #b a,sp_kfmx b
where a.dspid=b.dspid and a.beizhu like '%月结%'
group by b.dkfid
) e on d.dkfid=e.dkfid
) a full join (
select
isnull (f.dkfid,g.dkfid) as dkfid, --dkfif, --这里写错字段名了吧
isnull (f.kcje,0) as '现金库存金额',
isnull (g.kcje,0) as '混合库存金额'
from (
select b.dkfid,sum(b.kcsl*b.kuccbj) as kcje
from #b a,sp_kfmx b
where a.dspid=b.dspid and a.beizhu like '%现金%'
group by b.dkfid
) f full join (
select b.dkfid,sum(b.kcsl*b.kuccbj) as kcje
from #b a,sp_kfmx b
where a.dspid=b.dspid
group by b.dkfid
) g on f.dkfid=g.dkfid
) b on a.dkfid=b.dkfid
zjmym 2004-07-07
  • 打赏
  • 举报
回复
isnull (a.dkfid,b.dkfid) as dkfid,
改为
isnull (a.dkfid,b.dkfid) as 'dkfid',
yesterday2000 2004-07-07
  • 打赏
  • 举报
回复
表结构如下:
dspid beizhu
SP000003946 月结
SP000003779 月结
SP000002188 代销
SP000000131 代销
SP000005574 现金
SP000005564 现金

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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