2012-06-05 28 views
0

如何更新下面插入列从到另一个表海槽查询

enter image description here

(不介意从上述范围内的“1”的值,它应该的该表的范围字段是NULL

与该表的值的范围低于

enter image description here

当我内连接表与其他在他们的EquipmentCode值增加一倍这样的: enter image description here

这是我使用的查询:

SELECT 
    C.*, 
    R.Range AS RangeFromOtherTable 
FROM 
    EquipmentCalibrationRef AS C 
INNER JOIN 
    Range AS R 
ON 
    R.EquipmentCode = C.EquipmentCode 
+0

'EquipmentCode'不是唯一的。你如何确定table2中的哪一行应该更新table1中的哪一行? –

+0

并请发布您的查询。 –

+0

据推测由'EquipmentCode'和'其他一栏',但我没有那'一些其他专栏'来使它可区分。我只是从table2中获取'Range'列的所有值,然后将它包含到table1,而不管它的'EquipmentCode'是什么 – Kurusu

回答

0

作为开始,你可以用下面的语句获得伪1比1匹配

SELECT ecr.*, r.[Range] 
FROM EquipmentCalibrationRef ecr 
     INNER JOIN (
      SELECT RefNo = ROW_NUMBER() OVER (PARTITION BY EquipmentCode ORDER BY [Range]), *   
      FROM [Range] r 
     ) r ON r.RefNo = ecr.RefNo AND r.EquipmentCode = c.EquipmentCode