sql语句如下:
SELECT JobHead.JobNum, JobProd.OrderNum, JobHead.PartNum, JobOper.OpDesc
FROM PUB.JobHead, PUB.JobProd, PUB.OrderHed, PUB.OrderDtl, PUB.ProdGrup, 
      PUB.JobOper, PUB.Part
WHERE (JobHead.JobNum = JobProd.JobNum) AND 
      (JobProd.OrderNum = OrderHed.OrderNum) AND 
      (OrderHed.OrderNum = OrderDtl.OrderNum) AND 
      (JobHead.ProdCode = ProdGrup.ProdCode) AND 
      (JobHead.JobNum = JobOper.JobNum) AND (JobHead.PartNum = Part.PartNum) AND 
      (JobHead.JobNum = '25402')
结果事下:3、4行重复了1、2行,
JobNum  OrderNum  PartNum       OpDesc  
25402 73 742-012201-01 注蜡
25402 73 742-012201-01 蜡镶
25402 73 742-012201-01 注蜡
25402 73 742-012201-01 蜡镶
我只要前面两行,
JobNum  OrderNum  PartNum       OpDesc  
25402 73 742-012201-01 注蜡
25402 73 742-012201-01 蜡镶
我想去掉重复的行,在上面语句加了distinct老是报错,哪位帮帮我?

解决方案 »

  1.   

    SELECT distinct JobHead.JobNum, JobProd.OrderNum, JobHead.PartNum, JobOper.OpDesc 
    FROM PUB.JobHead, PUB.JobProd, PUB.OrderHed, PUB.OrderDtl, PUB.ProdGrup, 
          PUB.JobOper, PUB.Part 
    WHERE (JobHead.JobNum = JobProd.JobNum) AND 
          (JobProd.OrderNum = OrderHed.OrderNum) AND 
          (OrderHed.OrderNum = OrderDtl.OrderNum) AND 
          (JobHead.ProdCode = ProdGrup.ProdCode) AND 
          (JobHead.JobNum = JobOper.JobNum) AND (JobHead.PartNum = Part.PartNum) AND 
          (JobHead.JobNum = '25402') 报错?纱错
      

  2.   


    SELECT DISTINCT JobHead.JobNum, JobProd.OrderNum, JobHead.PartNum, JobOper.OpDesc
    FROM PUB.JobHead, PUB.JobProd, PUB.OrderHed, PUB.OrderDtl, PUB.ProdGrup,
          PUB.JobOper, PUB.Part
    WHERE (JobHead.JobNum = JobProd.JobNum) AND
          (JobProd.OrderNum = OrderHed.OrderNum) AND
          (OrderHed.OrderNum = OrderDtl.OrderNum) AND
          (JobHead.ProdCode = ProdGrup.ProdCode) AND
          (JobHead.JobNum = JobOper.JobNum) AND (JobHead.PartNum = Part.PartNum) AND
          (JobHead.JobNum = '25402') 
    --这样不行?
      

  3.   


    SELECT JobHead.JobNum, JobProd.OrderNum, JobHead.PartNum, JobOper.OpDesc
    FROM PUB.JobHead, PUB.JobProd, PUB.OrderHed, PUB.OrderDtl, PUB.ProdGrup,
          PUB.JobOper, PUB.Part
    WHERE (JobHead.JobNum = JobProd.JobNum) AND
          (JobProd.OrderNum = OrderHed.OrderNum) AND
          (OrderHed.OrderNum = OrderDtl.OrderNum) AND
          (JobHead.ProdCode = ProdGrup.ProdCode) AND
          (JobHead.JobNum = JobOper.JobNum) AND (JobHead.PartNum = Part.PartNum) AND
          (JobHead.JobNum = '25402') 
          group by JobHead.JobNum, JobProd.OrderNum, JobHead.PartNum, JobOper.OpDesc
    --这样了?
      

  4.   

    应该是
    SELECT JobHead.JobNum, JobProd.OrderNum, JobHead.PartNum, JobOper.OpDesc
    FROM PUB.JobHead, PUB.JobProd, PUB.OrderHed, PUB.OrderDtl, PUB.ProdGrup,
          PUB.JobOper, PUB.Part
    WHERE (JobHead.JobNum = JobProd.JobNum) AND
          (JobProd.OrderNum = OrderHed.OrderNum) AND
          (OrderHed.OrderNum = OrderDtl.OrderNum) AND
          (JobHead.ProdCode = ProdGrup.ProdCode) AND
          (JobHead.JobNum = JobOper.JobNum) AND (JobHead.PartNum = Part.PartNum) AND
          (JobHead.JobNum = '25402') 
          group by JobHead.JobNum, JobProd.OrderNum, JobHead.PartNum, JobOper.OpDesc