2014-11-26 5 views
0

У меня есть две таблицы, как в следующем:Как обновить значение столбца из другой таблицы dict в SQL?

Таблица 1: Список предметов

itemName, ... 
,A1.xxx, ... 
,A1.xxx, ... 
,A2.xxx, ... 
,C3.xxx, ... 
NA,B2.xxx, ... 

Таблица 2: Код товара/название

itemCode, itemName 
A1, Pen 
A1, Pen 
A2, Pencil 
C3, Milk 
B2, iPad 

Что я собираюсь do - обновить столбец itemName в таблице 1 с номером NAME в таблице 2. Обратите внимание, что пункт Код в таблице 2 является подстрокой itemName в таблице 1. Как я могу это сделать? Я использую sql-сервер.

Спасибо!

+0

Используйте концепцию внешнего ключа или триггер? –

ответ

1

Должно быть возможно сделать что-то вроде этого - я его еще не протестировал.

UPDATE t1 SET 
itemName = t2.itemName 
FROM table1 t1 
INNER JOIN table2 t2 ON t2.itemCode = 
SUBSTRING(t1.itemName, 
    CHARINDEX(',', t1.itemName)+1, 
    (
     (CHARINDEX(',', t1.itemName)+1) - CHARINDEX('.', t1.itemName) 
    ) 
) 
Смежные вопросы