select
    MName     ,
    MNumber   ,
    MName_C   ,
    MNumber_C ,
    DeptName  ,
    DemandNumber=(select sum(DemandNumber) from MRP_V_DepDemandList where PlanMainId=A.PlanMainId and MNumber_C=A.MNumber_C),
    PlanMainId,
    MPSNumber_C
from
    MRP_V_DepDemandList A
我用这条SQL语句得到了下面的数据:
MName       MNumber     MName_C  MNumber_C DeptName Demand   PlanMainId   MPSNumber_C
80442/AN/D  80442/AN/D  PE胶(薄) PT-10E-ND 生产车间 6.258    20060700006  LS-1850/06 80442/AN/D  80442/AN/D  PE胶(薄) PT-10E-ND 生产车间 6.258    20060700006  LS-1850/06
80845/AN/DB 80845/AN/DB PE胶(厚) PT-12E-ND 生产车间 2.268    20060700006  LS-1850/06
82350/AN/DB 82350/AN/DB PE胶(厚) PT-12E-ND 生产车间 2.268    20060700006  LS-1850/06
P306/VE/D   P306/VE/D   PE胶(厚) PT-12E-ND 生产车间 35.4     20060700002  LS-1839/06
80845/AN/DB 80845/AN/DB PE胶(厚) PT-12E-ND 生产车间 2.268    20060700006  LS-1850/06
82350/AN/DB 82350/AN/DB PE胶(厚) PT-12E-ND 生产车间 2.268    20060700006  LS-1850/06
P306/VE/D   P306/VE/D   PE胶(厚) PT-12E-ND 生产车间 35.4     20060700002  LS-1839/06
我想知道如何改一下可以把相同的PlanMainId下的相同mnumber_C唯一起来,就是这样:
MName       MNumber     MName_C  MNumber_C DeptName Demand   PlanMainId   MPSNumber_C
80442/AN/D  80442/AN/D  PE胶(薄) PT-10E-ND 生产车间 6.258    20060700006  LS-1850/06 
80845/AN/DB 80845/AN/DB PE胶(厚) PT-12E-ND 生产车间 2.268    20060700006  LS-1850/06
P306/VE/D   P306/VE/D   PE胶(厚) PT-12E-ND 生产车间 35.4     20060700002  LS-1839/06
有哪里说的不明白尽管问我。。在线等。结决完就结贴

解决方案 »

  1.   

    好象相同的PlanMainId,MNumber_C,其對應的MName_C、DeptName、MPSNumber_C都是相同的
    另外,MName和MNumber也是一致的。try:select
        MName=Min(MName)     ,
        MNumber=Min(MNumber)   ,
        MName_C   ,
        MNumber_C ,
        DeptName  ,
        DemandNumber= sum(DemandNumber),
        PlanMainId,
        MPSNumber_C
    from
        MRP_V_DepDemandList A
    Group By 
    MName_C,MNumber_C,DeptName,PlanMainId,MPSNumber_C
      

  2.   

    不是的。。我还有一些字段是不相同的,不过没有写出来。你上面这种方法我试过。但我加上我其它的那些字段demandnumber就不会类加起来了.
      

  3.   

    没什么关键的。我学你哪样。把其它的不相关字段前面都加上了MIN()这个。好像也可以的吧?
      

  4.   

    那試下這個,應該可以得到結果,但是用Min的那幾列的數據是否正確,我不敢保證,不過SUM應該是沒有問題。select
        MName=Min(MName)     ,
        MNumber=Min(MNumber)   ,
        MName_C=Min(MName_C)   ,
        MNumber_C ,
        DeptName=Min(DeptName)  ,
        DemandNumber= sum(DemandNumber),
        PlanMainId,
        MPSNumber_C=Min(MPSNumber_C)
    from
        MRP_V_DepDemandList A
    Group By 
    MNumber_C,PlanMainId
      

  5.   

    嘻嘻。。我把其它全部没用的字段都加上了MIN()终于搞好了。。谢谢^-^