0
私は、Oracle Apexページ(例: "F01C、F01D、G01A")にカンマ区切りの値を持つテキストフィールドを持っています。値は私のテーブルの1つの列にのみ格納されます(テーブル:HC_DEFHANDBUCH_B5列DRG)。列内のOracle Apex複数値
------
PK_ID OPS MDC DRG OPS_FILL MDC_FILL YEAR
214098 1-100 2 C01A, C01B, C14Z 1-100 2 2017
214099 - 15 P67D 1-100 15 2017
214100 1-204.2 15 P67D 1-204.2 15 2017
214101 1-204.3 15 P67D 1-204.3 15 2017
-------
私はDRGごとに1つの行を持っている表のHC_GDRG_FPKからPK_ID「214098」の全てのDRGを選択するために、対話型のレポートでクエリを実行しようとした:
Select * FROM HC_GDRG_FPK a
WHERE a.DRG IN (Select '(''' || REPLACE(b.DRG,', ',''', ''') || ''')' FROM HC_DEFHANDBUCH_B5 b WHERE b.PK_ID='214098')
AND a.Jahr='2017'
を誰もがアイデアを持っていますこれをどうやって稼働させるのか?私はそれが単一の価値に作用するようになる。
ありがとうございます。
カラムにコンマ区切り値を格納することは、最も基本的な正規化規則に違反します。それは、それを扱うことをはるかに困難にするでしょう。これを行う正しい方法は、3つの値に対して3つの行がある子テーブルを作成することです。データモデルを修正したくないのですか? –
私は3回質問を読みましたが、私はまだあなたがしようとしていることを理解していません。あなたは普通の英語で課題を説明できますか? (ところで、列がYearの場合、Jahrは動作しません!) – mathguy
@Justin Cave:そうです。私はこれを試すのに役立つ子テーブルです。データモデルの問題は、このデータが公開されたものであることです。フォローアップします。 – fscherbaum