需要删除重复的行

时间:2009-07-31 09:53:36

标签: sql

我有一个sql语句,可以获得维修订单和维修访问,但我只想要一个特别访问被拉出来但是把它们拉出来然后复制订购的零件,我不知道我做错了我确定那里这是非常简单的方式,但我不知道我今天有什么问题,只是看不出明显的我不认为。

下面的示例数据我只是希望能够看到工程师1和订购的部件。

使用的表是

  • Tbl_property - 只是为了得到地址等
  • tbl_repair_order - 已提出订单
  • tbl_repair_visit - 再次记录所有访问次数,此处存储了两个工程师名称
  • tbl_partorder - 其中部件与订单相关联

示例数据:

  • Orderid:123 - Engineer1 - Part 1
  • Orderid:123 - Engineer1 - Part 2
  • Orderid:123 - Engineer2 - part 1
  • Orderid:123 - Engineer2 - part 2

-

 SELECT     dbo.tbl_repair_order.CONTRACT, dbo.tbl_property.PROPADDRESS, dbo.tbl_property.PROPNUMBER, dbo.tbl_property.FULLADDRESS, 
                  dbo.tbl_repair_order.ORDERID, dbo.tbl_repair_order.THEIRREF, dbo.tbl_repair_order.ORIGIN, dbo.tbl_repair_order.RAISEDDATE AS JOBRAISED, 
                  dbo.tbl_repair_order.ENGINEER AS ENG1, dbo.tbl_repair_visit.ENGINEER, dbo.tbl_partorder.EXSUPPLIERORDERID, dbo.tbl_partorder.SUPPLIER, 
                  dbo.tbl_partorder.RAISED AS PARTRAISED, dbo.tbl_partorder.CODE, dbo.tbl_partorder.ITEM, dbo.tbl_partorder.UNITCOST, dbo.tbl_partorder.QUANTITY, 
                  dbo.tbl_partorder.COST, dbo.tbl_partorder.EXPECTED, dbo.tbl_repair_visit.Status
FROM         dbo.tbl_property INNER JOIN
                      dbo.tbl_repair_order ON dbo.tbl_property.PROPREF = dbo.tbl_repair_order.PROPREF INNER JOIN
                      dbo.tbl_partorder ON dbo.tbl_repair_order.ORDERID = dbo.tbl_partorder.ORDERID LEFT OUTER JOIN
                      dbo.tbl_repair_visit ON dbo.tbl_partorder.ORDERID = dbo.tbl_repair_visit.ORDERID
WHERE     (dbo.tbl_repair_order.CONTRACT = 'HOM') AND (dbo.tbl_repair_order.ORDERID = 4342) AND (dbo.tbl_repair_visit.Status = 'Parts Req')

1 个答案:

答案 0 :(得分:2)

这是因为订单中有两个工程师ID的部分,你是否想要它们?

你可以尝试的是使用表的子选择来获得连接中的不同orderid和part id