SELECT a.行号_标识,B.*  FROM dbo.备料计划下达_明细 a,
 (
 SELECT  物料编码,物料名称,规格型号,物料分类,材料属性,生产线,投产数量,生产顺序,rcid ,MAX(加工顺序) AS 加工顺序 
 FROM dbo.备料计划下达_明细  WHERE rcid='rc12101900154'
         GROUP BY 物料编码,物料名称,规格型号,物料分类,材料属性,生产线,投产数量,生产顺序,rcid
 ) b
  WHERE a.物料编码=b.物料编码 AND a.物料名称=b.物料名称 AND a.规格型号=b.规格型号 AND a.物料分类=b.物料分类 AND  a.材料属性=b.材料属性 
  and a.生产线=b.生产线  AND a.生产顺序=b.生产顺序 AND a.投产数量=b.投产数量  AND a.行号_标识 IS NOT NULL  AND a.加工顺序=b.加工顺序 
  ORDER BY a.行号_标识
         这个公式运行结果,会出现重复数据
20121019000965 1208*65*55 CW02A0 1.2米床尾上撑 1208*55*65 净料 水曲柳 0 300 383.000 RC12101900154 0.000
 20121019000966 1208*65*55 CW02A0 1.2米床尾上撑 1208*55*65 净料 水曲柳 0 300 383.000 RC12101900154 0.000
 20121019000967 1208*65*55 CW02A0 1.2米床尾上撑 1208*55*65 净料 水曲柳 0 300 383.000 RC12101900154 0.000
 20121019000968 1208*65*55 CW02A0 1.2米床尾上撑 1208*55*65 净料 水曲柳 600 300 383.000 RC12101900154 24.000但是运行中间的select  就不会有
1208*65*55 CW02A0 1.2米床尾上撑 1208*55*65 净料 水曲柳 0 300 383.000 RC12101900154 0.000
 1208*65*55 CW02A0 1.2米床尾上撑 1208*55*65 净料 水曲柳 600 300 383.000 RC12101900154 24.000我这条公式的意思是,数据分组,求出每种产品设备号最大的数据,然后再调出他的行号..
现在问题是一匹配行号,所有的数据都会出现...

解决方案 »

  1.   

     
    不可能的. 一个数据只有一个行号,跟ID类似,,,我外面的select 的意思就是要把设备最大的那个行的行号带出来
      

  2.   

    SELECT max(a.行号_标识),B.*  FROM dbo.备料计划下达_明细 a,
     (
     SELECT  物料编码,物料名称,规格型号,物料分类,材料属性,生产线,投产数量,生产顺序,rcid ,MAX(加工顺序) AS 加工顺序 
     FROM dbo.备料计划下达_明细  WHERE rcid='rc12101900154'
             GROUP BY 物料编码,物料名称,规格型号,物料分类,材料属性,生产线,投产数量,生产顺序,rcid
     ) b
      WHERE a.物料编码=b.物料编码 AND a.物料名称=b.物料名称 AND a.规格型号=b.规格型号 AND a.物料分类=b.物料分类 AND  a.材料属性=b.材料属性 
      and a.生产线=b.生产线  AND a.生产顺序=b.生产顺序 AND a.投产数量=b.投产数量  AND a.行号_标识 IS NOT NULL  AND a.加工顺序=b.加工顺序 
      ORDER BY a.行号_标识