这是我的表格:
id | title | lang
----+----------+------
1 | Moscow | en
1 | Москва | ru
2 | Helsinki | en
2 | Хельсинки| ru
我想通过 en
标题有效地获取 ru
标题。
目前,我首先获取条目的id
,然后再手动进行另一个查询。
还有其他更优雅的解决方案吗?
最佳答案
一个SELF JOIN
可能会有所帮助,并且通常是许多嵌套查询的更好解决方案,如果不是出于性能原因(请参阅: Join vs. sub-query 、 Rewriting Subqueries as Joins )当然是为了可读性。
根据您的情况尝试:
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"
关于mysql - 如何根据具有相同 `id` 的另一行有效地选择列的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31648489/