は、ここで私が必要とするデータが解析されます。私はそれらを試してみて、分離するために、このアプローチを試してみましたが、この意志文字列を取る方法、小数点以下を小数点以下に変換する方法、文字列の一部を抽出してテーブルと比較する方法はありますか?
--Table: MATERIALS
--COLUMN: VARCHAR2(20)
ITEM_ID
--------------
1/2 X 3-1/2
5/16 X 4-1/2
1/8 X 2-1/2
:ここ
--TABLE: PRICE_LIST
ITEM_DESCRIPTION VARCHAR2(60) VENDOR_PARTNO VARCHAR2(15)
---------------------------- --------------------------
.374 x 3 w/ph KLT-6 5506125
.4375 x 3-1/2 w/ph KLT-3345 5506124
.125 x 2-1/2 w/ph KLT-3211 5506123
.3125 x 4-1/2 w/ph KUR-44 5506127
は私がPRICE_LIST.ITEM_DESCRIPTIONを比較する必要があるテーブルです多くの作業が必要です。
SELECT SUBSTR(VALUE, 1, INSTR(VALUE, 'x')-1) DIAMETER,
SUBSTR(VALUE, INSTR(VALUE, 'x')+1) DIRTY_LENGTH
FROM (SELECT DESCRIPTION VALUE FROM PRICE_LIST);
DIAMETER DIRTY_LENGTH
-------- ------------
.374 3 w/ph KLT-6
.4375 3-1/2 w/ph KLT-3345
.125 2-1/2 w/ph KLT-3211
.3125 4-1/2 w/ph KUR-44
をしかし、今、私は私が何をするか分からない小数と列、および私の第二の部分を持っている別の列を持っていますが、私が必要としない他のデータ。
PRICE_LISTテーブル内の唯一の最後の2つの値が一致しているので、私が欲しいのはこれだけを返すことです。助けを
ITEM_DESCRIPTION VENDOR_PARTNO
---------------- -------------
1/8 X 2-1/2 5506123
5/16 X 4-1/2 5506127
ありがとう!
は、なぜあなたは、このようなひどく設計されたデータを使用していますか?間違った形式のデータや不適切な文字列の解析や比較をするのではなく、一致させるために使用できる主キーが必要です。基本的なデータベース設計の原則について、本を購入したり、Webチュートリアルを探したりすることもできます。 –
説明の最初の部分のように、直径(.125 == 1/4など)に対応しているようです。そして、はい、データを構造化する必要があります。現在、理解して使用することは非常に困難です。 – igr
@KenWhite - OPの具体的な状況はわかりません。しかし、これが既存のデータである状況を想像することができます。以前のIT担当者がどれだけ愚かなのか(データモデルを見て)、それらの無能な人をどれだけ吹き飛ばしたのか、混乱を扱う?もちろん、データモデルなどを修正してください。どうしたらいいですか? OPが求めていることを** **正確に**行う必要はありませんか?そして、あなたが助けが必要な場合は、ここで質問しませんか? – mathguy