ICBOM(BOM表头)
字段:FInterID (BOM内码),FItemID(成品物料内码)
ICBOMChild(BOM表身)
字段:FInterID (BOM内码),FItemID(半成品物料内码)
t_ICItemCore(物料表)
字段:FItemID(物料内码),FNumber(物料代码)
ICInventory(库存表)
字段:FItemID(物料内码),FQty(库存数量)根据成品物料内码,现在要做出的效果是:
       成品库存   半成品库存
                                         
比如说某成品物料内码是:0121,根据物料表,可以查看出成品的物料代码:7.01.01.01.0021,则根据BOM表,查出它的半成品代码是6.01.01.01.0031,通过“库存表”,则要出的效果是7.01.01.01.0021代码的“成品库存”,“半成品库存”想了一天一夜了,还是没想出该咋整的.?
FItemID是物料表的内码,通过内码关联到整个BOM表...无论成品还是半成品,内码在物料表都是唯一的...请高手指点一下....痛哭ing....

解决方案 »

  1.   

    ICBOM(BOM表头)
    字段:FInterID (BOM内码)FItemID(成品物料内码):
          0021               3041
    ICBOMChild(BOM表身) 
    字段:FInterID (BOM内码)   FItemID(半成品物料内码): 
             0021               2041
    t_ICItemCore(物料表) 
    字段:FItemID(物料内码),FNumber(物料代码)
           3041             7.01.01.01.0021
          2041             6.01.01.01.0041
    ICInventory(库存表) 
    字段:FItemID(物料内码),FQty(库存数量)
            3041              3024
           2041              1000数值已贴上,请各位大大帮忙。
      

  2.   

    select t1.fnumber fnumber1,t1.fname fanme1,t1.fmodel fmodel1,t5.fqty fqty1,
    t4.fnumber fnumber2,t4.fname fname2,t4.fmodel fmodel2,t6.fqty fqty2
    from t_ICItemCore t1
    inner join ICBOM t2 on t1.fitemid=t2.fitemid 
    inner join ICBOMChild t3 on t2.finterid=t3.finterid
    inner join t_ICItemCore t4 on t3.fitemid=t4.fitemid
    left join ICInventory t5 on t1.fitemid=t5.fitemid
    left join ICInventory t6 on t4.fitemid=t6.fitemid
      

  3.   

    --使用状态的BOMselect t1.fnumber fnumber1,t1.fname fanme1,t1.fmodel fmodel1,t5.fqty fqty1,
    t4.fnumber fnumber2,t4.fname fname2,t4.fmodel fmodel2,t6.fqty fqty2
    from t_ICItemCore t1
    inner join ICBOM t2 on t1.fitemid=t2.fitemid and t2.fusestatus=1072
    inner join ICBOMChild t3 on t2.finterid=t3.finterid
    inner join t_ICItemCore t4 on t3.fitemid=t4.fitemid
    left join ICInventory t5 on t1.fitemid=t5.fitemid
    left join ICInventory t6 on t4.fitemid=t6.fitemid