Как скопировать второе слово из столбца одной таблицы в столбец другой таблицы?
Как скопировать второе слово из столбца(pagetitle) таблицы 1 (content) в столбец(tags) таблицы 2 (product), при том что у них общий id
Разбираем скрин: Нужно в таблице 1 (content) из столбца pagetitle скопировать 2-е слово и записать его в таблицу 2 (product) в столбец tags. В обеих таблицах общим является столбец ID.
Так получается выбрать 2-е слово:
SELECT DISTINCT pagetitle,
CASE
WHEN INSTR( pagetitle, ' ' ) = 0
THEN
''
ELSE
SUBSTRING(
SUBSTRING( pagetitle, LOCATE(' ', pagetitle) + 1),
1,
LOCATE( ' ', CONCAT(SUBSTRING( pagetitle, LOCATE(' ', pagetitle) + 1), ' ') ) - 1
)
END FROM `content`
Ответы (2 шт):
Автор решения: HeathRow
→ Ссылка
update products
set tags = ( select ... с выборкой второго слова ... where id = products.id)
Автор решения: Rango
→ Ссылка
UPDATE products SET tags = concat('["', (
SELECT
SUBSTRING(SUBSTRING( pagetitle, LOCATE(' ', pagetitle) + 1),1, LOCATE( ' ', SUBSTRING( pagetitle, LOCATE(' ', pagetitle) + 1) ) - 1 )
FROM content WHERE id = products.id), '"]')
