1

私は自分のアプリケーションを国際化する過程にあります。私がこのようなテーブルを持っているとしましょう:

task_priority

id | description

次に、次のテーブルを作成しますtable_priority_i18n

id | culture | description

ここで、idとカルチャは主キーであり、idはidへの外部キーtask_priorityです。

説明を取得するために、テーブル間で左結合を行っています

select tp.id, t.description 
from task_priority tp 
  left join task_priority_i18n t 
    on t.id = tp.id and t.culture = :culture.

ただし、クエリを変更して、i18nテーブルに変換がない場合は、ベーステーブルから値を返すようにします。

その列を削除できることはわかっていますが、i18nテーブルのみを使用していますが、現時点では手間がかかりすぎています。

何か案は?

4

1 に答える 1

1
select tp.id, NVL( t.description, tp.description)
from task_priority tp 
  left outer join task_priority_i18n t 
    on t.id = tp.id 
    and t.culture = :culture
于 2012-04-20T12:23:37.297 に答える