当前位置: 首页 > 面试题库 >

如何根据具有相同`id`的另一行有效地选择列的字段?

蒋泰
2023-03-14
问题内容

这是我的表:

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

我想ruen标题有效地获取标题。

此刻,我首先获得id条目的,然后手动进行另一个查询。

还有其他更优雅的解决方案吗?


问题答案:

ASELF JOIN可能会有所帮助,并且如果不是出于性能原因,通常是对许多嵌套查询的更可取的解决方案。

在您的情况下,请尝试:

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最高的“ bob”,因此结果将返回: 谢谢你。 问题答案: 您可以使用子查询来计算每个名称的最大ID,然后返回与该子查询返回的ID匹配的所有行: 请看这里的小提琴。

  • 问题内容: 我有一张桌子,像这样: 我想选择具有相同基因座和染色体的所有行。例如,第3行和第4行。一次可能有2个以上,并且它们可能不是按顺序排列的。 我尝试了这个: 但是,即使重复,它总是返回第3行,从不返回第4行。我想我缺少明显而简单的东西,但我茫然。 有人可以帮忙吗? 问题答案: 您需要了解,当您在查询中包含内容时,您是在告诉SQL合并行。您将为每个唯一值获得一行。在随后过滤这些组。通常,您可

  • 问题内容: 该主题的解决方案使我不知所措。 我有一个看起来像的表格(除与我的问题无关的其他字段之外): 名称,卡号,会员类型 现在,我想要一个显示卡号和成员类型相同的行的视图。这两个字段都是整数。名称为VARCHAR。名称不是唯一的,并且相同的名称也应显示重复的卡号,会员类型。 即,如果下表是表格: 我想要: 只需按卡号排序即可使其对人类有用。 最有效的方法是什么? 问题答案: 由于您提到的名称可

  • exTab 如何使用SQL(与mySQL一起)只返回col1中具有多个相同值、col2中具有多个相同值、但COL3中具有唯一值的行? 例如,在上面的表(exTab)中,val1在col1中出现了4次,对于这4次,val4在col2中出现了3次,但是对于这3次,val7在col3中只出现了一次,所以我想返回这一行(第1行)。考虑到这些条件,第1行将是我希望从此表返回的唯一一行。 我试过和group