2012-04-30 8 views
2

正規化したいカンマ区切りのリストを含む1つのフィールドを持つデータベースがあります。フィールドは次のようになります...1つの列にコンマで区切られた項目が入っているMySQLの標準化日

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; 

は、私が「part_rawから」の部分に何かが必要だと思うが、でも、どこから始めれば分からない:)

うまくいけば、これは十分に明らかです。おかげ

答えて

3

あなたは、この選択した場合:

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

をあなたは、この取得します:

PQFP100 

をだから、insert文はこのようなものでなければなりません:

insert ignore into part_pkg (pkg_name) 
select substring_index(part_desc',',',-1) 
from part_raw 
group by pkg_name; 
+0

ちょうどそれを試してみました。私は 'substring_index'を大文字に変更して動作させる必要がありました。 –

+0

問題ありません。喜んで助ける – Arion

0

はこれを試してみてください。

insert ignore into part_pkg (pkg_name) 
select SUBSTRING_INDEX(part_desc, ',', -1) 
from part_raw 
group by pkg_name; 
+0

おかげで、グスタボ...あなたの答えは受け入れられた答えのちょうど後ろに来たが、それにもかかわらず助けた –

関連する問題