【发布时间】:2012-02-03 06:04:42
【问题描述】:
我继承了一个数据库,在努力让它更干净、更有用的过程中,我遇到了以下问题。
将文件列移动到单独的表后,我现在的任务是将这些文件分成不同的行。请参阅下面的示例。
key | jobid | files |
--------------------------------------------
1 30012 file1.pdf;file2.pdf
2 30013 file3.pdf
3 30014 file4.pdf;file5.pdf;file6.pdf
我想要一个 SQL 语句,它将表格变成如下:
key | jobid | files |
--------------------------------------------
1 30012 file1.pdf
2 30013 file3.pdf
3 30014 file4.pdf
4 30012 file2.pdf
5 30014 file5.pdf
6 30014 file6.pdf
是否必须删除原始条目才能实现这一点并不重要,因此以下解决方案也可以接受:
key | jobid | files |
--------------------------------------------
4 30012 file1.pdf
5 30013 file3.pdf
6 30014 file4.pdf
7 30012 file2.pdf
8 30014 file5.pdf
9 30014 file6.pdf
基本上我只需要在 ; 上拆分文件字符串。分隔符和使用拆分字符串创建的新行。
如果您能提供任何帮助,我们将不胜感激。
【问题讨论】:
-
我理解这是一份一次性工作——对吗?
-
Mysql string split的可能重复
-
是的,Eugen 是一次性工作。