¿Cómo SELECCIONAR de manera eficiente el campo de una columna basado en otra fila con el mismo `id`?

Aquí está mi table:

id | title | lang ----+----------+------ 1 | Moscow | en 1 | Москва | ru 2 | Helsinki | en 2 | Хельсинки| ru 

Me gustaría get de manera eficiente el título ru por título.

Por el momento, primero obtengo la id de la input y luego hago otra consulta a mano.

¿Alguna otra solución más elegante?

Una SELF JOIN puede ser de ayuda y, por lo general, es una solución preferible para muchas consultas anidadas, si no por motivos de performance (ver: Unir frente a subconsulta , Reescribir subconsultas como uniones ) para facilitar la lectura.

En tu caso, testing:

 SELECT movies_ru.title FROM movies AS movies_ru JOIN movies AS movies_en ON movies_ru.id = movies_en.id WHERE movies_ru.lang = "ru" AND movies_en.lang = "en" AND movies_en.title = "The English Title" 

Editar: resulta que la respuesta de Tobia Tesan suele ser una mejor práctica.


Use una subselección :

 SELECT `title` FROM `table` WHERE `lang` = 'ru' AND `id` = (SELECT `id` FROM `table` WHERE `lang` = 'en' AND `title` = 'Moscow') 

puedes hacer esto con esta simple consulta:

 SELECT title FROM table WHERE lang = 'ru' AND id = (SELECT id FROM table WHERE lang = 'en' AND title = 'Moscow') 
 SELECT title FROM Table WHERE lang='ru' AND id = (Your select id query)