2012-06-05 2 views
0

Как обновить поле диапазона этой таблицы нижеВставка столбцов из в другую таблицу прогиб Query

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» не является уникальным. Как вы определяете, какая строка из таблицы2 должна обновлять строку в таблице1? –

+0

И, пожалуйста, отправьте свой запрос. –

+0

предположительно «EquipmentCode» и «Some other column», но у меня нет этого «другого столбца», чтобы его можно было отличить. Я просто получил все значения столбца «Range» из таблицы2, а затем просто включил его в таблицу1, независимо от его «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 
Смежные вопросы