壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 972|回复: 9

谁帮我改一下SQL代码呀!!谢谢!

[复制链接]
发表于 2008/7/9 14:28:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
第一段代码是针对工单中所需的物料已下采购单的情况!
第二段代码是想反映针对工单中所需的物料未下采购单的情况!
可是第二段怎么也写不对,有时间的朋友帮我看一下呢.
cont_purchase_for_vendor_v已下采购单的资料表
WIP_REQUIREMENT_OPERATIONS工单所需的物料表
(比方某个工单需要10个原物料,其中有2个原物料已经下采购单采购,想把另外8个原物料没有下单的资料抓出来)


--针对工单已下采购单
SELECT cpf.wip_entity_name 工令号,
    msi.segment1 料号,
    cpf.item_description 料号说明,
    DECODE(SUBSTR(cpf.po_number,1,1),4,cpf.po_number,'') 采购单号,
    wro.creation_date 生管下单时间,
    wro.creation_date + 3 应下采购单时间,
    cpf.creation_date 实际下单时间
  FROM cont_purchase_for_vendor_v cpf,
       mtl_system_items msi,
    WIP_REQUIREMENT_OPERATIONS wro
WHERE wro.wip_entity_id=cpf.wip_entity_id
   AND wro.creation_date BETWEEN TO_DATE('06-28-2008','mm-dd-yyyy') AND TO_DATE('07-04-2008','mm-dd-yyyy')
   AND cpf.item_id = MSI.inventory_item_id
   and wro.inventory_item_id=msi.inventory_item_id
   AND (cpf.org_id + 4)=msi.organization_id
   and cpf.org_id=85
  order by cpf.wip_entity_name


--针对工单未下采购单
SELECT cpf.wip_entity_name 工令号,
    msi.segment1 料号,
    msi.description 料号说明,
    wro.creation_date 开工时间,
    wro.creation_date + 3 应下采购单时间
  FROM cont_purchase_for_vendor_v cpf,
       mtl_system_items msi,
    WIP_REQUIREMENT_OPERATIONS wro
WHERE wro.wip_entity_id=cpf.wip_entity_id
   AND wro.creation_date BETWEEN TO_DATE('06-28-2008','mm-dd-yyyy') AND TO_DATE('07-04-2008','mm-dd-yyyy')
   and wro.inventory_item_id=msi.inventory_item_id
   and cpf.item_id<>wro.inventory_item_id
   AND (cpf.org_id + 4)=msi.organization_id
   and wro.organization_id=msi.organization_id
   and cpf.org_id=85
   group by cpf.wip_entity_name,msi.segment1,msi.description,wro.creation_date
   order by cpf.wip_entity_name
 楼主| 发表于 2008/7/9 14:37:23 | 显示全部楼层
在线等,希望路过的朋友,帮我踩一踩!!!
 楼主| 发表于 2008/7/9 14:46:01 | 显示全部楼层
没人在线????
发表于 2008/7/9 14:57:09 | 显示全部楼层
比较复杂么 不会 呵呵 帮顶
 楼主| 发表于 2008/7/9 14:58:43 | 显示全部楼层
帮顶也感谢!
发表于 2008/7/9 15:06:33 | 显示全部楼层
帮你顶一下吧,
没有用过生产这部分,对于表结构,数据情况不太了解,
不过看起来只是个SQL的写法问题,应该不太难,
你可以拿些数据上来,我可以在我的环境中用这几个表帮你试试
发表于 2008/7/9 15:11:08 | 显示全部楼层
SELECT cpf.wip_entity_name 工令号,
    msi.segment1 料号,
    cpf.item_description 料号说明,
    DECODE(SUBSTR(cpf.po_number,1,1),4,cpf.po_number,'') 采购单号,
    wro.creation_date 生管下单时间,
    wro.creation_date + 3 应下采购单时间,
    cpf.creation_date 实际下单时间
  FROM cont_purchase_for_vendor_v cpf,
       mtl_system_items msi,
    WIP_REQUIREMENT_OPERATIONS wro
WHERE wro.wip_entity_id=cpf.wip_entity_id(+)
   AND wro.creation_date BETWEEN TO_DATE('06-28-2008','mm-dd-yyyy') AND TO_DATE('07-04-2008','mm-dd-yyyy')
   AND cpf.item_id(+) = MSI.inventory_item_id
   and wro.inventory_item_id=msi.inventory_item_id
   AND (cpf.org_id + 4)(+)=msi.organization_id
   and cpf.org_id(+)=85
  order by cpf.wip_entity_name
发表于 2008/7/9 16:18:18 | 显示全部楼层
Michael:

这样的写法可能会有问题吧,因为这个SQL语句查询的结果中包含有已经下达采购订单的物料,可能需要添加一些条件,即采购表中关键字段为Null的记录过滤出来,应该至少接近一些

注:以上只是推测,没有测试
发表于 2008/7/10 08:33:45 | 显示全部楼层
:/kuk 等
 楼主| 发表于 2008/7/10 14:51:17 | 显示全部楼层
已经改好了,谢谢各位!

应用了NOT EXISTS
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 05:18 , Processed in 0.015808 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表