gpt4 book ai didi

mysql - 当另一个表中存在条目时,更改列中字符串的最后两个字母

转载 作者:行者123 更新时间:2023-11-29 10:59:25 25 4
gpt4 key购买 nike

我有一个表 A,其中包含一些带有条目的列。第 1 列是事件名称,该名称在表中是唯一的。现在,当事件名称存在于另一个表(表 B)中时,我想更改另一列(假设为第 2 列)中字符串的最后两个字母(如果事件名称不在表 B 中,则不会发生任何情况) 。 “new”最后两个字母是表 B 中第 2 列中字符串的一部分(1 也是营销事件名称)。-> 我该怎么做?

这是一个例子:

例如,如果表 A 包含:

|col1                           ||col2           |
+--------------------------------+---------------+------
|20161512_NL_Luxus_1_DE ||NewsletterDE |
|20161217_LC_YoBirthdayNo_A_CH ||LifecyclemailUK|
|20161512_NL_Luxus_1_DE ||BKMailCH |
|20161512_NL_SDT_4_DE ||LifecyclemailDE|
|20170117_SV_YoBirthdayYes_A_DE ||BKMailDE |
|20161512_NL_SDT_4_DE ||NewsletterFR |

表 B 包含:

|col1                           ||col2           |
+--------------------------------+---------------+------
|20161217_LC_YoBirthdayNo_A_CH ||LifecyclemailCH|
|20161512_NL_SDT_4_DE ||NewsletterDE |

我想要一个将表 A 更改为的查询:

|col1                           ||col2           |
+--------------------------------+---------------+------
|20161512_NL_Luxus_1_DE ||NewsletterDE |
|20161217_LC_YoBirthdayNo_A_CH ||LifecyclemailCH|
|20161512_NL_Luxus_1_DE ||BKMailCH |
|20161512_NL_SDT_4_DE ||LifecyclemailDE|
|20170117_SV_YoBirthdayYes_A_DE ||BKMailDE |
|20161512_NL_SDT_4_DE ||NewsletterDE |

这是我到目前为止得到的:

UPDATE table A INNER JOIN table B ON A.col1  = B.col1 SET A.col2 = CONCAT(SUBSTRING(A.col2), RIGHT(B.col2,2));

-> 但这无法正常工作......

提前致谢!

最佳答案

我认为这样可以:

update tablea a 
join tableb b on a.col1 = b.col1
set a.col2 = concat(
susbtr(a.col2, 1, length(a.col2) - 2),
right(b.col2, 2)
)

关于mysql - 当另一个表中存在条目时,更改列中字符串的最后两个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42507581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com