【发布时间】:2014-02-05 00:26:01
【问题描述】:
我有两张桌子,比如 table1 和 table2。我想通过拆分表 1 中的逗号分隔值来插入表 2。
例如,假设在table1中:
ID Mac
---- --------------------------------------------------------------------------
9504 11:22:33:44:55:66:77:88, aa:bb:cc:dd:ee:ff:gg:hh, 99:00:11:22:33:44:55:66
9505 ii:jj:kk:ll:mm:nn:oo:pp, 77:88:99:00:11:22:33:44
那么table2应该有:
ID Mac
---- -----------------------
9504 11:22:33:44:55:66:77:88
9504 aa:bb:cc:dd:ee:ff:gg:hh
9504 99:00:11:22:33:44:55:66
9505 ii:jj:kk:ll:mm:nn:oo:pp
9505 77:88:99:00:11:22:33:44
我编写了以下 SQL(我不想编写存储过程或触发器):
INSERT INTO table2 (ID, Mac)
SELECT ID, Left(Mac,23)
FROM table1
WHERE Left(Mac, 23) <> " "
UNION SELECT ID,mid(Mac, 26, 23)
FROM table1
WHERE mid(Mac, 26, 23) <> " "
UNION SELECT ID,mid(Mac, 51, 23)
FROM table1
WHERE mid(Mac, 51, 23) <> " "
UNION SELECT ID,mid(Mac, 75, 23)
FROM table1
WHERE mid(Mac, 75, 23) <> " "
UNION SELECT ID,mid(Mac, 97, 23)
FROM table1
WHERE mid(Mac, 97, 23) <> " ";
但是我收到Syntax Error in FROM clause. 错误。
你能帮我解决这个问题吗?
提前致谢! 维迪亚。
【问题讨论】:
-
您使用的是哪个 DBMS?后格雷斯?甲骨文?
-
感谢您的快速回复!MS Access