2

我有一个数据库,其中一个字段包含我想规范化的逗号分隔列表。该字段看起来像这样......

16-BIT, 20 MHz, MICROPROCESSOR, PQFP100

它不会总是有相同数量的逗号分隔项目,但是我唯一关心的项目,我想要拉出和规范化的项目总是最后一个,在上面的“PQFP100”的情况下。

我想我理解将列取出并放入另一个表的 sql,但我不知道如何只选择其中的 PQFP100 部分。这是我到目前为止所拥有的...

insert ignore into part_pkg (pkg_name)
select part_desc
from part_raw
group by pkg_name;

我想我需要一些关于'from part_raw'部分的东西,但我什至不知道从哪里开始:)

希望这足够清楚。谢谢

4

2 回答 2

3

如果你选择这个:

select substring_index('16-BIT, 20 MHz, MICROPROCESSOR, PQFP100',',',-1)

你会得到这个:

PQFP100

所以插入语句必须是这样的:

insert ignore into part_pkg (pkg_name)
select substring_index(part_desc',',',-1)
from part_raw
group by pkg_name;
于 2012-04-30T20:21:26.970 回答
0

尝试这个:

insert ignore into part_pkg (pkg_name)
select SUBSTRING_INDEX(part_desc, ',', -1)
from part_raw
group by pkg_name;
于 2012-04-30T20:21:56.137 回答