2015-03-17 6 views
-3

УСНО Вопрос:SQL: Обновление столбца на основе другого столбца + другие данные очистки

Material Column='3MR2091' Table Key='1003MR2091 W047F001' 

Что мне нужно для Таблица Определитель в конечном итоге просто 'W047'

То, что я до сих пор:

SELECT REPLACE(REPLACE([Table Key],'%F001%',''),[Material],'') FROM ZMMH03_TEMP;

Нуждается каким-то образом сочетаться с ...

SELECT RIGHT([Table Key],LEN([Table Key])-3) As NewTableKey; 
SELECT LTRIM([NewTableKey]); 

.... Священная корова, я это понял !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Я немного взволнован.

SELECT REPLACE(REPLACE(REPLACE(RIGHT([Table Key],LEN([Table Key])-3),'%F001%',''),[Material],''),' ','') --- Works!!!!! 

Теперь таблица ключей - это только текст W047!

+1

Вы что-то пробовали? Вы проверили синтаксис команды 'UPDATE'? –

+1

Что вы используете? MySQL, MSSQL, SQLite, ...? – waka

+0

SQL Server Management Studio 2014. –

ответ

0

просто использовать оператор обновления для вашей таблицы основаны на столбце

update [YourTable] set [Table Key] = [Material] where [your condition] 

или

update [YourTable] set [Table Key] = '' where [Material] = '' 

не уверены, что вам нужно именно так я написал для вас обоих вариантов

0

Итак, я Предполагая, что вы используете T-SQL ...

UPDATE [YOUR TABLE] 
SET [TABLE KEY] = REPLACE([TABLE KEY], MATERIAL,'') 

Это будет искать значение в MATERIAL внутри значения [TABLE KEY] и заменить его пустой строкой.

+0

Да, за исключением того, что я не использую инструкцию WHERE, поскольку материал дублируется в ключе таблицы. –

+0

@GregBarnett: Тогда вы можете игнорировать оператор where. Он должен работать (но лучше быть в безопасности, чем извиняться: сначала проверить его с помощью SELECT;)) – waka

+0

Согласен и спасибо! Мне нравится этот сайт. Я знаю, что это может быть не похоже на мой вопрос выше, но до этого момента я смог найти ответы на все мои вопросы здесь. Этот файл просто отформатирован ужасно, как я его получаю. И у меня нет никакого контроля над форматом из источника. –

Смежные вопросы