有一个小问题,我无法解决..
我有 2 个表,其中 1 个表有一个 Youtube 链接,我需要附加到表 2 中的另一列。但并非每条记录都有 Youtube 链接,这意味着我需要检查两个表中的名称是否是相同(WHERE name1 = name2?)但是如何将文本附加到表 2 中已有的文本中?像这样的吗?
UPDATE table2 SET text2 = (text2 + '/n' + table1.text1) WHERE name1 = name2?
如果有人能帮助我,那就太好了!
编辑:
所以我对查询有点摸索:
SELECT
'Kleding'.'Naam',
'jos_virtuemart_products_nl_nl'.'product_name',
CONCAT_WS('/n', 'jos_virtuemart_products_nl_nl'.'product_desc', 'Kleding'.'Youtube_link')
FROM
'jos_virtuemart_products_nl_nl' as 't2'
INNER JOIN 'Kleding' as 't1'
ON 't2'.'product_name' = 't1'.'Naam';
但是由于某些奇怪的原因,这个查询是不正确的。我找不到为什么它不正确。
最佳答案
UPDATE
table2 as t2 INNER JOIN table1 as t1 ON t2.name = t1.name
SET
t2.text2 = CONCAT_WS('/n', t2.text2, t1.text1);
P.S.:也许'/n'
你的意思是'\n'
?
P.P.S:在进行任何重大数据更改操作之前,我建议您 to backup您的数据库。
<小时/>UPDv1:
使用 SELECT
测试最终结果集:
SELECT
`t1`.`name` as `t1-name`,
`t2`.`name` as `t2-name`,
CONCAT_WS('/n', `t2`.`text2`, `t1`.`text1`) as `changes`
-- ^ here you will see what comes up
FROM
`table2` as `t2` INNER JOIN `table1` as `t1` ON `t2`.`name` = `t1`.`name`
-- WHERE possibly more conditions to meet your requirements
如果您设法通过附加 WHERE
条件获得正确的结果集,请将它们移至 UPDATE
语句。
关于mysql - 将文本从一个表附加到另一表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25563472/