这是我的桌子:
Product:
ID PRICE NAME DESCRIPTION
1 100 laptop laptop_desc
2 200 mouse mouse_desc
Product_Translations:
PID LANG NAME DESCRIPTION
1 ch 伊吾 伊吾伊吾请不要担心产品表中的名称和描述。如果用户选择了默认语言,我们将保留它以避免连接。
现在,我需要编写一个查询,以便根据用户的语言从Product_Translations产品获取所有产品,如果在中找不到名称和描述的翻译,就从Product表中获取它们。我尝试了几种不同的方法,但没能成功。更新:
我需要Product中的所有列(在本例中,我只给出了2列,但实际的表有更多的列)。还有一个限制是,我需要使用JPA标准API生成这个查询,所以任何JPA不支持的SQL关键字都不适合我。
谢谢你的帮助。
发布于 2015-08-28 04:14:46
在您的情况下,您应该使用左联接。
SELECT p.ID, p.PRICE, ISNULL(pt.NAME,p.NAME) AS NAME, p.DESCRIPTION
FROM Product AS p
LEFT JOIN Product_Translations AS pt ON p.ID = pt.PID
WHERE pt.LANG = @UserLanghsqldb functions中的ISNULL
https://stackoverflow.com/questions/32263211
复制相似问题