以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]金蝶K3BOM多表查询,同一项要显示两次不能实现需请教 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=104838) |
||||
-- 作者:xiangwei_zeng -- 发布时间:2017/8/6 16:47:00 -- [求助]金蝶K3BOM多表查询,同一项要显示两次不能实现需请教 如题,最终目的是为了能够实现快速计算任意零件的成本。金蝶K3中零件的BOM单独的,整机倒是可以一个个导出再合并,可是零件就不适用了,一次要算2000个零件的BOM成本不知道怎么处理了,只好先把全部的BOM一次显示出来再说。金蝶很多表都是内码关联,现在父项BOM和子项BOM都有物料内码,我要找出真正的物料代码由于两次使用物料表而提示出错,不知道该怎么办。
此主题相关图片如下:多表查询截图.jpg 此主题相关图片如下:多表查询提示错误.jpg [此贴子已经被作者于2017/8/6 17:01:51编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2017/8/6 17:02:00 -- 你问题太笼统。
做个例子,把数据发上来测试。 |
||||
-- 作者:xiangwei_zeng -- 发布时间:2017/8/6 17:07:00 -- 不好意思,刚才用的浏览器不对,使用的系统IE浏览器才真正上传成功 |
||||
-- 作者:有点甜 -- 发布时间:2017/8/6 17:40:00 -- select c.bom内码, d.物料代码, c.物料代码1 from (select b.bom内码, 物料代码 as 物料代码1 from {物料表} as a left join (select bom内码, 物料内码 from {bom子项}) as b on a.物料内码=b.物料内码 where bom内码 is not null) as c left join (select b.bom内码, 物料代码 from {物料表} as a left join (select bom内码, 物料内码 from {bom父项}) as b on a.物料内码=b.物料内码 where bom内码 is not null) as d on c.bom内码=d.bom内码 order by c.bom内码, d.物料代码, c.物料代码1 |
||||
-- 作者:xiangwei_zeng -- 发布时间:2017/8/6 20:41:00 --
按同样逻辑修改外部源的查询表,预览可以正常显示,但保存就出错了,请问是什么原因呢? |
||||
-- 作者:有点甜 -- 发布时间:2017/8/6 20:54:00 -- 你的sql语句,尽量不要把表的主键列加上。默认会把第一列作为主键列。 |
||||
-- 作者:有点甜 -- 发布时间:2017/8/6 20:57:00 -- 或者你做个有外部数据源的例子发上来,具体说明问题。 |