テキスト文字列から数値を抽出して、別のテーブルに結合しようとしています。これが私がこれまでに持っているものです:
SELECT sect.id,
sect.section_number,
sect.expression,
p.abbreviation
FROM sections sect
JOIN period p ON SUBSTR(sect.expression, 1, (INSTR(sect.expression,'(')-1)) = p.period_number
AND p.schoolid = 73253
AND p.year_id = 20
JOIN courses c ON sect.course_number = c.course_number
WHERE sect.schoolid = 73253
AND sect.termid >= 2000
私は他のいくつかのスレッドを読んで、番号を取り除く方法を理解しました(これは常に左括弧の前にあります)。問題は、これがsect.expression列に存在する3つのスタイルのデータのうちの2つだけを説明することです-
9(A) - check
10(A) - check
だがしかし
5-6(A)
5-6(A)は、Oracle01722の無効な番号エラーをキックバックします。5-6(A)データ型の場合、最初の番号(5)を取得してそれを結合するように、substr ...行を変更する方法はありますか?
私はこのテーブルに対する読み取り権限しか持っていないため、ある種のヘルパーテーブル/列の作成に依存するソリューションは機能しません。
ありがとう!