Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Wood_Wood Member Откуда: Сообщений: 1 |
Добрый вечер. Помогите, пожалуйста. Имеется таблица: A | B | С ------------- 1 | 12 | 2 | 45 | 2 3 | 49 | 3 4 | 57 | 2, 4 5 | 80 | 7 6 | 91 | 2, 3 7 | 109 | 9 8 | 115 | 3, 8, 10 И т. д. Мне нужно из этой таблицы получить таблицу, в столбце C которой будут значения, которые не повторялись ранее. Т. е. для поля "4" мы убираем двойку из столбца "С", так как она уже была в поле "2". Из поля "6" убираем и 2, и 3, так как они были ранее и т. д. Вот должна быть такая таблица: A | B | С ------------- 1 | 12 | 2 | 45 | 2 3 | 49 | 3 4 | 57 | 4 5 | 80 | 7 6 | 91 | 7 | 109 | 9 8 | 115 | 8, 10 И т. д. P.S. БД MS SQL 2017 |
3 июн 19, 20:59 [21900929] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8350 |
Wood_Wood, колонку С надо разобрать в таблицу, данные в ней не повторяются. Они повторяются только в Вашей голове, а не на сервере. Затем остатки надо снова собрать в строки. declare @t table (id int, val int); insert @t values (2, 2),(3, 3),(4, 2),(4, 4),(5, 7),(6, 2),(6, 3),(7, 9),(8, 3),(8, 8),(8, 10); select * from @t select * from @t t1 where not exists (select * from @t t2 where t2.val = t1.val and t2.id < t1.id) Чтобы пользоваться реляционной механикой, требуются реляционные данные. |
3 июн 19, 21:20 [21900949] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |