選擇查詢我有三個表:SQL:幫助編寫使用JOIN
語言
ID LangName LangAbbr
1 English en
2 Spanish es
字符串
ID String
1 Hello
2 Goodbye
翻譯
ID LangID StringID Translation
1 1 1 Hello
2 2 1 Hola
3 1 2 Goodbye
4 2 2 Adios
截至目前,我已經從languages
表語言的ID,跑一個查詢來獲取所有的翻譯是語言:
SELECT t.Translation, s.String FROM Strings
AS s JOIN Translations AS t ON s.ID = t.StringID
AND LangID = :LangID
這個偉大的工程。但是,我需要在其他地方更新一些代碼,現在我不再能夠訪問LangID
,而是僅從Languages
表(至今未在此查詢中使用過)的LangAbbr
。
我的問題是,我該如何更新此查詢來執行以下操作:
從
Languages
表,其LangAbbr
= X(我 變量)獲取
ID
使用該ID ,返回一個數組,其鍵的值等於Strings
表中每個String
的名稱,其值等於該字符串的Translations
表中的Translation
/l語言ID。
因此,作爲一個SQL結果集,你找給對'es'爲'你好,HOLA |再見,Adios'? (格式化爲與您的應用程序代碼相關但與SQL相關的數組) –
尋找array('String'=>'Translation')',就像語言是西班牙語'array('Hello'=> 'Hola')' – JROB
Bur你正在尋找給定語言的_all_字符串翻譯,對嗎?不只是一個特定的翻譯? –