我正在将我的申请国际化。假设我有一张这样的表:
task_priority
:
id | description
然后我创建了一个名为table_priority_i18n
的表:
id | culture | description
其中id和culture是主键,id是task_priority
id的外键。
要获得描述,我正在表之间进行左连接
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表,但目前工作量太大。
有什么想法吗?
答案 0 :(得分: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