2013-03-19 112 views
0

假設我有產品表(ID,名稱),語言(ID,代碼)和ProductTranslation表(ID,產品ID,語言ID,名稱)現在讓我說我有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包括默認值,如果沒有可用的語言

+0

什麼是您的搜索字符串? –

+0

@RavindraGullapalli搜索可以使用任何語言。英/法/阿拉伯語。產品表包含默認的一個 – user960567

回答

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%' 
+0

獲取錯誤.. – user960567