Создание таблицы с отображением SKU до нового размера; обновите основную таблицу.
Многие диалекты SQL имеют обозначения для выполнения обновлений через объединенные таблицы. Некоторые этого не делают. Это будет работать там, где нет такого обозначения:
CREATE TABLE SKU_Size_Map
(
SKU CHAR(16) NOT NULL,
Size INTEGER NOT NULL
);
...Populate this table with the SKU values to be set...
...You must have such a list...
UPDATE MasterTable
SET Size = (SELECT Size FROM SKU_Size_Map
WHERE MasterTable.SKU = SKU_Size_Map.Size)
WHERE SKU IN (SELECT SKU FROM SKU_Size_Map);
Главное условие WHERE необходимо избегать установки размера до нуля, где нет соответствующей строки.
Возможно, вы также можете сделать это с помощью инструкции MERGE. Но ключевое понимание любой из этих обозначений состоит в том, что вам нужна таблица для сопоставления между SKU и размером. Вам либо нужна таблица, либо вам нужен алгоритм, и образцы данных не предлагают алгоритм.
И каковы будут критерии для обновления различных строки для разных значений? – 2010-12-07 07:34:57
Как мы можем определить, какое преобразование применимо к каждой строке? – 2010-12-07 07:35:30
Можете ли вы быть более конкретным относительно структуры вашей базы данных. Каждый из этих столбцов или некоторые значения столбцов? – 2010-12-07 07:35:39