1

我正在将我的申请国际化。假设我有一张这样的桌子:

task_priority

id | description

然后我创建一个名为table_priority_i18n

id | culture | description

其中 id 和culture 是主键,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 回答