select (select sum(RealAmount) from T_InventorysDetails a where PlanCode='634049554593750000' and PDetailsID=22) as xvalue,* from VIEW_PlansDetailsList b  where PDetailsID=22 and PlanCode='TL634049554593750000'
如何让 a.PlanCode=b.PlanCode and a.PDetailsID=b.PDetailsID  

解决方案 »

  1.   

    select sum(RealAmount) from T_InventorysDetails a , VIEW_PlansDetailsList b
    where a.PlanCode='634049554593750000' and a.PDetailsID=22 and a.PlanCode=b.PlanCode and a.PDetailsID=b.PDetailsID 
      

  2.   

    貌似理解错了。
    你的条件是:
    a.PlanCode='634049554593750000'
    b.PlanCode='TL634049554593750000'然后要求:a.PlanCode=b.PlanCode这是矛盾的,不可能做到这个需求。
      

  3.   

    哦,好象又明白了一点,是部分相同?select sum(RealAmount) from T_InventorysDetails a , VIEW_PlansDetailsList b
    where a.PlanCode='634049554593750000' and a.PDetailsID=22 and a.PlanCode=substring(b.PlanCode,3,len(b.PlanCode)) and a.PDetailsID=b.PDetailsID 
      

  4.   

    或者这样?只要b.PlanCode包含a.PlanCode?select sum(RealAmount) from T_InventorysDetails a , VIEW_PlansDetailsList b
    where a.PlanCode='634049554593750000' and a.PDetailsID=22 and charindex(a.PlanCode,b.PlanCode) > 0 and a.PDetailsID=b.PDetailsID 
      

  5.   

    select (select sum(RealAmount) from T_InventorysDetails a where a.PlanCode=b.PlanCode and a.PDetailsID=b.PDetailsID) as xvalue,* from VIEW_PlansDetailsList b where PDetailsID=22 and PlanCode='TL634049554593750000'
      

  6.   

    好像是我发错了!select (select sum(RealAmount) from T_InventorysDetails a where PlanCode='TL634049554593750000' and PDetailsID=22) as xvalue,* from VIEW_PlansDetailsList b where PDetailsID=22 and PlanCode='TL634049554593750000'
      

  7.   

    我整理成这样子了!select (select sum(RealAmount) from T_InventorysDetails a , VIEW_PlansDetailsList b
    where a.PlanCode=b.PlanCode and a.PDetailsID=b.PDetailsID) as xvalue,* from VIEW_PlansDetailsList行不?
      

  8.   

    去掉 VIEW_PlansDetailsList b
      

  9.   

    select (select sum(RealAmount) from T_InventorysDetails a 
    where a.PlanCode=b.PlanCode and a.PDetailsID=b.PDetailsID) as yvalue/*已领料数量*/,b.Amount-(select sum(RealAmount) from T_InventorysDetails a 
    where a.PlanCode=b.PlanCode and a.PDetailsID=b.PDetailsID) as svalue/*剩余领料数量*/,* from VIEW_PlansDetailsList b 
    我还有个问题,如何做到相同的整理一下!
      

  10.   

    select a.*,isnull(b.yvalue,0) as yvalue
    ,a.Amount-isnull(b.yvalue,0)  as  yvalue1
    from VIEW_PlansDetailsList a left join (select  PlanCode,PDetailsID,sum(RealAmount) as yvalue
    from T_InventorysDetails  group by PlanCode,PDetailsID) b  on a.PlanCode=b.PlanCode and a.PDetailsID=b.PDetailsID