Я хочу обновить столбец, объединив две строки, но postgresql (версия 10) выдает ошибку, что это невозможно.
Это результаты запроса на выборку:
select game_id, distro, kernel, de, os_bit, 'ubuntu ' || (regexp_matches(distro, '(x|k)ubuntu ((16|18|17)(\.04|10)(\.\d)).+'))[2] from games
where distro ~ 'ubuntu (16|18|17)(\.04|10)(\.\d)' and distro !~ '^ubuntu (16|18|17)(\.04|10)(\.\d)$'
Я хочу обновить столбец дистрибутива, и он должен содержать строку, которая на рисунке показана под столбцом ?column?
, но когда я использую следующий запрос, возникает ошибка (функции возврата набора не разрешены в UPDATE ) происходит:
update games set distro = concat('ubuntu ', (regexp_matches(distro, '(x|k)ubuntu ((16|18|17)(\.04|10)(\.\d)).+'))[2]) where distro ~ 'ubuntu (16|18|17)(\.04|10)(\.\d)' and distro !~ '^ubuntu (16|18|17)(\.04|10)(\.\d)$'