在每个产品转换表中搜索产品名称?

时间:2013-03-19 13:39:12

标签: sql sql-server sql-server-2008

假设我有产品表(ID,名称),语言(ID,代码)和ProductTranslation表(ID,ProductID,LanguageID,Name)现在让我说我有10-20种语言。我需要在每个语言翻译表中搜索产品名称,并且只选择与名称匹配的名称

 SELECT Name, 
        L.ID 
  FROM  Product P, 
        ProductTranslation PT, 
        Language L
  WHERE P.ID = PT.ProductID  
        AND PT.LanguageID = L.ID
        AND P.Name LIKE '%A%'+' ?????

编辑:注意P.Name包括默认值,如果没有可用的语言

1 个答案:

答案 0 :(得分:0)

我认为您只需要查看产品转换表中的名称字段。但是,您应该使用标准连接语法,并且不需要语言表:

select pt.name as NameInLanguage, pt.id, p.name as ProductName
from ProductTransalation pt join
     Product p
     on pt.productId = p.productId
where pt.name like '%A%'