我有一個產品表,它有一個所有產品當前爲-1的manufacturerID。更新基於sku前綴的產品表
我有一個製造商的表,有一個SKU前綴。
因此,如果MFG SKU的前綴是:ABC
那麼產品表將有產品,如ABC123,ABC3434。
所以我需要一個查詢來更新產品表,根據製造商表中的skuPrefix來設置manufacturerID。
這是可能的嗎?
我有一個產品表,它有一個所有產品當前爲-1的manufacturerID。更新基於sku前綴的產品表
我有一個製造商的表,有一個SKU前綴。
因此,如果MFG SKU的前綴是:ABC
那麼產品表將有產品,如ABC123,ABC3434。
所以我需要一個查詢來更新產品表,根據製造商表中的skuPrefix來設置manufacturerID。
這是可能的嗎?
UPDATE tblProducts
SET P.manufacturerId = M.manufacturerId
FROM tblProducts P
JOIN tblManufacturers M ON LEFT(P.Sku, 3) = M.SkuPrefix
-- above, replace 3 with whatever the prefix length is
--WHERE possibly some where condition
以上這些都應該有效。然而一些因素:
... (ON CHARINDEX(P.Sku, M.SkuPrefix) = 1)
UPDATE tblProducts
SET manufacturerId = M.manufacturerId
FROM tblProducts P
JOIN tblManufacturers M ON M.Sku + '%' LIKE P.sku
應該這樣做
你可能是指'P.sku LIKE M.sku +'%'',而不是其他方式 – mjv
你可能要設置P.manufacturerId = M.manufacturerID –
@Russel。感謝您指出了這一點。我不認爲表格說明符在這裏是必要的(因爲它隱含在'UPDATE tableName'語法中),但它可能不會受到傷害。 – mjv