这是事情: 我有一个专栏:
table1
ID Name Playlist
1 Hi Category1|Category2|Category3
2 Ho Category2|Category4|Category6
etc...
然后是另一张桌子:
table2
ID Name
1 Category1
2 Category2
3 Category3
....
在表1中,值字符串实际上是" Category1 | Category2 | Category3"。 我希望单个查询将table1的播放列表列中的所有字符串替换为table2中各自的ID,以便在查询之后,table1应如下所示:
table1
ID Name Playlist
1 Hi 1|2|3
2 Ho 2|4|6
etc...
我可以通过编写一个循环或类似的东西来做到这一点,但是我想在单个查询中使用它,但是,我不知道如何用不同的值替换列的值的一部分。< / p>
如果只是:
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`;
虽然我真的想要这个请求的查询,但我仍然希望听到有关更好方法的建议。
提前致谢:)
答案 0 :(得分:0)
SELECT playlist,REPLACE(playlist,'category','')AS MyResult FROM table1;
2.If&#39; Myresult&#39;上面提到的查询是你想要的,然后只需更新你的表:
UPDATE table1 SET playlist=REPLACE(playlist,'category','');