Здесь приведены шаги для подсчета повторяющихся слов в String
Полная программа бит длинна, так как она считывает содержимое String из локального файла. Вы можете проверить статью в приведенной ниже ссылке
UPDATE im
SET mf_item_number = gm.SKU --etc
FROM item_master im
JOIN group_master gm
ON im.sku = gm.sku
JOIN Manufacturer_Master mm
ON gm.ManufacturerID = mm.ManufacturerID
WHERE im.mf_item_number like 'STA%' AND
gm.manufacturerID = 34
Чтобы прояснить ... Предложение UPDATE
может ссылаться на псевдоним таблицы, указанный в предложении FROM
. Итак, im
в этом случае действителен
UPDATE A
SET foo = B.bar
FROM TableA A
JOIN TableB B
ON A.col1 = B.colx
WHERE ...
Ваш sql выше не использовался, но вот пример обновления таблицы на основе оператора соединения.
UPDATE p
SET p.category = c.category
FROM products p
INNER JOIN prodductcatagories pg
ON p.productid = pg.productid
INNER JOIN categories c
ON pg.categoryid = c.cateogryid
WHERE c.categories LIKE 'whole%'
Один из самых простых способов - использовать обычное табличное выражение (так как вы уже используете SQL 2005):
with cte as (
select
im.itemid
,im.sku as iSku
,gm.SKU as GSKU
,mm.ManufacturerId as ManuId
,mm.ManufacturerName
,im.mf_item_number
,mm.ManufacturerID
, <your other field>
from
item_master im, group_master gm, Manufacturer_Master mm
where
im.mf_item_number like 'STA%'
and im.sku=gm.sku
and gm.ManufacturerID = mm.ManufacturerID
and gm.manufacturerID=34)
update cte set mf_item_number = <your other field>
Механизм выполнения запроса самостоятельно определит, как обновить запись.
Вы можете указать дополнительные таблицы, используемые для определения того, как и что обновлять, с помощью предложения FROM в операторе UPDATE, например:
update item_master
set mf_item_number = (some value)
from
group_master as gm
join Manufacturar_Master as mm ON ........
where
.... (your conditions here)
В предложении WHERE необходимо указать условия и операции соединения, чтобы связать эти таблицы вместе.
Marc