Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как трансформировать значения столбца в зависимости от значений другого, той же таблицы? / 4 сообщений из 4, страница 1 из 1
27.03.2018, 19:01
    #39621530
Ferum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как трансформировать значения столбца в зависимости от значений другого, той же таблицы?
Возможна ли нормализовать колонку id_coor в зависимости от Color?

Таблица

id_color Color
1 red
2 red
5 green
4 green

В итоге должна получиться таблица

id_color Color
1 red
1 red
4 green
4 green
...
Рейтинг: 0 / 0
27.03.2018, 22:01
    #39621593
londinium
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как трансформировать значения столбца в зависимости от значений другого, той же таблицы?
Ferum1,
Что-то в таком духе
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
IF OBJECT_ID(N'TEMPDB..#COLOR',N'U')IS NOT NULL
  DROP TABLE TEMPDB..#COLOR;

CREATE TABLE #COLOR
(
  ID TINYINT NOT NULL,
  COLOR VARCHAR(10)NOT NULL
)
  
INSERT #COLOR(ID,COLOR)
(
  SELECT 1,'RED'
   UNION ALL
  SELECT 2, 'RED'
    UNION ALL
  SELECT 5,'GREEN'
    UNION ALL
  SELECT 4,'GREEN'      
);

WITH MINCOLOR AS
(
  SELECT MIN(T.ID)MINID,T.COLOR
   FROM #COLOR T
   GROUP BY T.COLOR
)
UPDATE T SET
 T.ID=MC.MINID
FROM #COLOR T
JOIN MINCOLOR MC ON T.COLOR=MC.COLOR

SELECT * FROM #COLOR; 

DROP TABLE #COLOR;
...
Рейтинг: 0 / 0
27.03.2018, 22:37
    #39621602
andrey odegov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как трансформировать значения столбца в зависимости от значений другого, той же таблицы?
MERGE доступен?
Код: sql
1.
2.
3.
4.
merge #color t
  using(select min(id) mi,color from #color group by color) s
  on t.color=s.color
  when matched then update set t.id=s.mi;
...
Рейтинг: 0 / 0
29.03.2018, 00:02
    #39622386
Ferum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как трансформировать значения столбца в зависимости от значений другого, той же таблицы?
Спасибо коллеги, буду разбираться.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как трансформировать значения столбца в зависимости от значений другого, той же таблицы? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]