SQL单行分为多行

时间:2013-07-20 19:11:40

标签: sql row transpose

我有两张桌子A:

COL1 | COL2 | IDS
10   | 2    | 1,2,4
20   | 3    | 1,3
30   | 1    | 1,3,4,6

和B:

ID | NAME
1  | XYZ
2  | ABC
3  | PQR
4  | STV
5  | LMN
6  | IJK

现在我必须根据列IDS内的值拆分表A中的行。 IDS是一个具有多个ID(存在于表B中)的列,以逗号分隔,并且列IDS中的此类ID的数量不固定。

在拆分操作之后,A中的每一行应该分成x个新行(其中x是列IDS中存在的ID的数量),并且每个新行将具有相同的COL1和&的值。表A中同一行的COL2。

结果表应如下所示:

COL1 | COL2 | ID
10   | 2    | 1
10   | 2    | 2
10   | 2    | 4
20   | 3    | 1
20   | 3    | 3
30   | 1    | 1
30   | 1    | 3
30   | 1    | 4
30   | 1    | 6

实现此行转换的最佳方法是什么?

0 个答案:

没有答案