gpt4 book ai didi

MySQL:有没有办法根据另一个表中的值替换部分列值(在单个查询中)

转载 作者:行者123 更新时间:2023-11-29 21:11:19 24 4
gpt4 key购买 nike

事情是这样的:我有这样的专栏:

table1
ID Name Playlist
1 Hi Category1|Category2|Category3
2 Ho Category2|Category4|Category6
etc...

然后是另一个表:

table2
ID Name
1 Category1
2 Category2
3 Category3
....

在表一上,值字符串实际上是“Category1|Category2|Category3”。我希望通过一个查询将 table1 的播放列表列中的所有字符串替换为 table2 中各自的 ID,这样在查询之后,table1 应该如下所示:

table1
ID Name Playlist
1 Hi 1|2|3
2 Ho 2|4|6
etc...

我可以通过编程循环或类似的东西来做到这一点,但我想将其放在单个查询中,但是,我不知道如何具体用不同的值替换列的部分值。

如果只是:

table1
ID Name Playlist
1 Hi Category1
2 Ho Category2
etc...

然后我将使用如下查询:

UPDATE table1 a, table b SET a.playlist = b.Name WHERE a.`Playlists` = b.`Name`;

虽然我真的想要所请求的查询,但我仍然希望听到有关更好方法的建议。

提前致谢:)

最佳答案

嗯,我认为这没有你想象的那么困难。尝试这个查询:
1.看看是不是你想要得到的结果:

SELECT playlist,REPLACE(playlist,'category','')AS MyResult FROM table1;  

2.如果上面提到的查询的“Myresult”是您想要的,那么只需更新您的表:

UPDATE table1 SET playlist=REPLACE(playlist,'category','');

关于MySQL:有没有办法根据另一个表中的值替换部分列值(在单个查询中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36344420/

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