Установить значения в столбце B на основе значений в столбце A в SQL2005? - PullRequest
2 голосов
/ 03 марта 2011

Я пытаюсь взять существующий столбец и проанализировать каждую строку для определенных слов в строке, т. Е. Sheet, Page, Card, и на основе этого слова (только один экземпляр одного из этих слов в строке) заполнитьновый столбец в той же таблице со значением.Если не было найдено ни одного из этих слов, оставьте столбец B пустым.

IE столбец A содержит слово «Лист», заполните столбец B буквой «S»

, чтобы таблицабыть что-то вроде:

Column A  Column B
Sheet        S
Page         P
Card         C

Любая помощь будет оценена!

Ответы [ 3 ]

1 голос
/ 03 марта 2011
UPDATE YourTable
    SET ColumnB = CASE WHEN ColumnA LIKE '%Sheet%' THEN 'S'
                       WHEN ColumnA LIKE '%Page%' THEN 'P'
                       WHEN ColumnA LIKE '%Card%' THEN 'C'
                       ELSE NULL /* or '' if you prefer */
                  END
0 голосов
/ 03 марта 2011
;WITH mappings (ColumnA, ColumnB) AS
(
 SELECT 'Sheet','S' UNION ALL
 SELECT 'Page','P' UNION ALL
 SELECT 'Card','C' 
)
UPDATE y
SET y.ColumnB= m.ColumnB
FROM YourTable y
JOIN mappings m ON y.ColumnA LIKE '%' + m.ColumnA + '%'
0 голосов
/ 03 марта 2011
update myTable 
set columnB = substring(columnA, 1, 1) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...