2015-11-11 1 views
1

У меня возникли проблемы с попыткой написать запрос.Как удалить данные из одного столбца, который существует в другом столбце?

У меня есть одна таблица, в которой есть несколько столбцов.

Что я пытаюсь сделать, это в основном обрезать один столбец, который имеет одни и те же данные в другом.

Пример:

column1 | Column2 
123ABC | 123 
789DEF | 789 

Так что я пытаюсь сделать, это принять значение, которое находится в колонке 2 и удалить его из колонки 1 и просто колонка 1 раз показать, как ABC, DEF.

+0

Попробуйте 'REPLACE (column1, column2, '')' –

+0

Какие [теги: RDBMS] вы используете? – Mureinik

+0

Вы просматривали функции строки в документации вашей базы данных? – JRD

ответ

1

Для SQL Server/MySQL

UPDATE tableName 
SET column1 = REPLACE(column1, column2, '') 
0

Решение зависит от сервера базы данных. В принципе, вы хотите обновить таблицу, установив столбец1 как текущее значение с удаленным значением столбца2. Вот как это можно сделать с MySQL:

update table 
    set column1 = replace(column1, column2, ''); 
0

Если вы уверены, что все ваши таблицы могут быть усечены, вы можете сделать:

UPDATE Table SET column1 = SUBSTRING(column1, 3, LEN(column1)) 

ИЛИ

UPDATE Table SET column1 = SUBSTRING(column1, LEN(Column2), LEN(column1)) 

Эти команды , для справочной цели, в MSSQL sintax.

+0

Я особенно не рекомендую REPLACE, так как вы можете иметь дубликаты в своей строке, например: «123123» или «AB123C» в столбце1. – rkawano

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