У меня есть 1 проблема и вам нужна помощь.Sql server - как обновить колонку внутри join
У меня есть 2 стола - MainTable и DWTable.
MainTable - (ItemName varchar(255) NULL (unique), ItemCode varchar(255) NULL),
DWTable - (ItemName varchar(255) NULL, ItemCode varchar(255) NULL).
Общая рубрика - ItemName varchar (255) NULL.
ItemName уникален в MainTable, но несколько в DWTable.
Теперь мне нужно обновить MainTable.ItemCode от DWTable.ItemCode. Как MainTable имеет только 1 запись, которая может быть соединена с несколькими столбцами в DWTable.We есть много вариантов для MainTable.ItemCode
DWTable.ItemCode может иметь 3 вида значений -
- А.
not like '%Red%' and not like '%Yellow%'
- - приоритет 1 - Б.
like '%Red%'
- приоритет 2 - С.
Like '%yellow%'
--- приоритет 3
Если A не существует, значение должно быть B else C.
Пожалуйста, помогите.
update MainTable
set ItemCode = DWTable.ItemCode
from Maintable inner join DWTable on MainTable.ItemName = DWTable.ItemName
Для 1 элемента ItemName 'RREE', DWTable имеет 6 записей. , поэтому MainTable.ItemCode будет обновлен значением 6-й строки DWTable. За 1 Имя товара 'RREERR', у нас около 80 записей
Покажите нам пример данных и ожидаемый результат. \t Прочитайте [** How-to-Ask **] (http://stackoverflow.com/help/how-to-ask) \t \t И вот отличное место для [** START **] (http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/), чтобы узнать, как улучшить качество вопроса и получить лучшие ответы. –
Не могли бы вы предоставить запрос или запросы, которые вы пробовали? – Steven
Привет, Jaun, Стивен.обновление MainTable set ItemCode = DWTable.ItemCode из внутреннего соединения внутренней таблицы DWTable на MainTable.ItemCode = DWTable.ItemCode. Для 1 конкретной ItemCode 'RREE', DWTable имеет 6 записей. , поэтому MainTable.ItemCode будет обновлен значением 6-й строки DWTable.For 1 ItemCode 'RREERR', у нас есть около 80 записей. –