Добрый день всем. Я не смог найти решение и искал какую-либо помощь. У меня есть таблица, для которой я хотел бы добавить столбец:SQL - Как добавить столбец на основе нескольких столбцов в таблице
ID Time_Stamp Activity_Log
1254 6/1/2013 8:00:00AM 'Ticket was opened by user A'
1254 6/2/2013 8:20:00AM 'Comment was logged by user B'
1254 6/4/2013 8:25:00AM '**Ticket was transferred to Group 1**'
1254 6/7/2013 8:50:00AM 'Comment was logged by user B'
1254 6/11/2013 10:00:00AM 'Comment was logged by user C'
1254 6/12/2013 12:00:00PM '**Ticket was transferred to Group 2**'
7589 6/3/2013 11:00:00PM 'Ticket was opened by user A'
7589 6/5/2013 1:00:00PM 'Comment was logged by user C'
7589 6/7/2013 2:00:00PM 'Resolution provided by user C'
7589 6/11/2013 5:00:00PM 'Ticket resolved by user C'
8526 6/3/2013 7:00:00PM 'Ticket opened by user D'
8526 6/4/2013 2:00:00PM '**Ticket was transferred to Group 2**'
8526 6/5/2013 1:00:00PM 'Comment was logged by user G'
8526 6/8/2013 5:00:00PM '**Ticket was resolved by user C**'
Вот что я хотел бы новую колонку, группу, чтобы выглядеть следующим образом:
ID Time_Stamp Activity_Log Group
1254 6/1/2013 8:00:00AM 'Ticket was opened by user A' NULL
1254 6/2/2013 8:20:00AM 'Comment was logged by user B' NULL
1254 6/4/2013 8:25:00AM '**Ticket was transferred to Group 1**' Group 1
1254 6/7/2013 8:50:00AM 'Comment was logged by user B' Group 1
1254 6/11/2013 10:00:00AM 'Comment was logged by user C' Group 1
1254 6/12/2013 12:00:00PM '**Ticket was transferred to Group 2**' Group 2
7589 6/3/2013 11:00:00PM 'Ticket was opened by user A' NULL
7589 6/5/2013 1:00:00PM 'Comment was logged by user C' NULL
7589 6/7/2013 2:00:00PM 'Resolution provided by user C' NULL
7589 6/11/2013 5:00:00PM 'Ticket resolved by user C' NULL
8526 6/3/2013 7:00:00PM 'Ticket opened by user D' NULL
8526 6/4/2013 2:00:00PM '**Ticket was transferred to Group 2**' Group 2
8526 6/5/2013 1:00:00PM 'Comment was logged by user G' Group 2
8526 6/8/2013 5:00:00PM '**Ticket was resolved by user C**' Group 2
Я хотел бы добавить это групповой столбец со строкой, если Activity_Log LIKE '% xx%', а для каждой строки - на основе идентификатора и Time_Stamp. Некоторые идентификаторы не будут содержать язык в журнале activity_log, а столбец Group будет NULL для всех строк. Для тех, кто это делает, я хотел бы начать, когда activity_log LIKE '% переходит в Group x%' и заканчивается, когда Activity_log либо похож на «% Transfer to Group x%», либо «% ticket был разрешен%». Я попытался написать запрос, используя OVER (раздел by), чтобы отключить идентификатор, но я не был успешным.
Благодаря
Итак ... рассчитанная колонка? Кроме того, какие dbms это? [tag: sql] немного слишком неоднозначен. постскриптум в зависимости от размера таблицы, вы можете просто добавить обычный столбец, запустить синтаксический анализатор через него в одноразовом режиме, а затем использовать триггер, чтобы синхронизировать новый столбец. Вычисленный/рассчитанный столбец может быть очень интенсивным с точки зрения добавленных служебных данных. –
Должен ли писать этот столбец «группа» в качестве кода приложения, а не базы данных? Кажется, что в коде приложения есть вся информация, необходимая для правильной установки. –