Jor*_*lam 1 sql postgresql join
我有两张表如下:
tag 表(仅英文标签):
ID title
-------------
1 tag_1
2 tag_2
3 tag_3
Run Code Online (Sandbox Code Playgroud)
tag_translation 表:
ID title locale tag_id (foreign key)
-----------------------------------------------
1 tag_1_fr FR 1
2 tag_1_de DE 1
3 tag_2_es ES 3
Run Code Online (Sandbox Code Playgroud)
如何用法语返回所有标签的SQL查询,如果在法语中没有找到标签,则回退到英语?
结果示例(选择法语中的所有标签,后退到英语):
ID title
---------------
1 tag_1_fr
2 tag_2
3 tag_3
Run Code Online (Sandbox Code Playgroud)
SELECT T.ID
,COALESCE(TT.TITLE, T.TITLE) AS TITLE
FROM tag T
LEFT JOIN tag_translation TT
ON T.ID = TT.tag_id
AND TT.locale = 'FR';
Run Code Online (Sandbox Code Playgroud)
这假设tag_id和locale在tag_translation中是唯一的.
| 归档时间: |
|
| 查看次数: |
164 次 |
| 最近记录: |