我有一個MySQL表像附加的圖像。加入與自己的MySQL表
[ID +區域]是我的表項。我將en_US的所有術語作爲我的語言環境,如果我有任何其他語言環境的翻譯,我將它們添加到具有相同標識但不同語言環境的表中。如果在另一個語言環境中沒有關於某個ID的記錄,這意味着我們仍然沒有翻譯它。
我的例外結果也在Image中。要做到這一點我用這個SQL查詢:
SELECT t1.id as id, (SELECT t2.text FROM translation t2 WHERE t2.id = t1.id AND t2.locale= :locale ) as translated, t1.text as english FROM translation t1 WHERE t1.locale = 'en_US' AND t1.id= :id
(:ID和:現場是我的變量參數)
我的問題:
- 我還是沒對它進行基準測試,但我的查詢對我來說效率不高。
- 我無法在查詢中搜索或排序翻譯的列。 (或者也許我不知道該怎麼做)
- 我試過左連接(和左外連接),但我似乎它不同的表現在MySQL
你知道有更好的SQL這樣做工作?或者如何對我的翻譯的列進行排序和搜索?
謝謝
工作正常。謝謝 – Shahram
你很受歡迎。樂意效勞 :) –