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

MYSQL:如何在两次引用同一张表的同一查询上联接两个表

皇甫敏达
2023-03-14
问题内容

我有两张表。我试图将下面的两个示例表与表1结合起来,两次引用表2。例如,如果我查看表1:第2组和成员7,则应在表2中查找ID,并提供以下输出:

Group Members Name   Name
  2      7     Blue   Dog

表1

Group  Members
 2       7
 3       8
 5       10

表2

 ID     Name
 1      Green
 2      Blue
 3      Yellow
 4      Orange
 5      Red
 6      Elephant
 7      Dog
 8      Cat
 9      Chicken
 10     Mouse

有什么建议吗?谢谢


问题答案:

SELECT
Table_1.*,
g.Name,
m.Name
FROM
Table_1
INNER JOIN Table_2 AS g ON Table_1.Group=g.ID
INNER JOIN Table_2 AS m ON Table_1.Group=m.ID
WHERE
Table_1.Group=2
AND Table_1.Member=7




 类似资料:
  • 问题内容: 我有2张桌子。一个(域)具有域ID和域名(dom_id,dom_url)。 另一个包含实际数据,其中2列需要TO和FROM域名。所以我有2列rev_dom_from和rev_dom_for,它们都存储来自domains表的域名ID。 简单。 现在,我需要在网页上实际显示两个域名。我知道如何通过LEFT JOIN域名显示reviews.rev_dom_for = domains.dom_

  • 问题内容: 我被困住了…一个带有“值”和“数据类型”列的“数据”表填充有发动机负载和车辆速度,每个记录都标有日期,时间,经纬度,长时戳。我想查询车辆行驶时发动机负载是否超过10%(例如,速度> 0)。我可以创建查询来选择发动机负载,也可以创建查询来选择车速,但是当> 10%并且车辆移动时,如果日期,时间和时间长,如何创建查询来选择发动机负载?相等吗? 此查询不起作用,但是它提供了我要尝试执行的操作

  • 问题内容: 我有一张桌子和一张桌子。 该表具有以下结构: 所有用户( 投诉者 和 投诉解决者) 都位于table中。 如何编写查询以显示两列的用户名? 这给了我一个: 但我不知道如何编写,因此两列均显示用户名而不是ID。 问题答案:

  • 问题内容: 我有两个桌子和。表具有字段和其他几个字段。表具有3个字段: 是固定的值枚举。例如,它可以是,或。 我需要进行查询,其结果将是4列: ,对,对,对 如果不存在用于相应值在表然后NULL值应在相应的列中显示。 例: 结果应该是: 我尝试了3次左联接表,但无法弄清楚如何排列输出 问题答案: 您需要使用多个: 这是一个示例:SQL Fiddle。

  • 问题内容: 我有一个称为消息的SQL表,它有三列 此表是用来从一个用户传送到另一个存储信息,它存储了从替代的,现在我需要创建一个视图,显示并通过获取的名称从使用表在表中的消息。 提前致谢 问题答案: 您需要使用不同的别名连接两次aspnet_Users表: 解释: 在这里,aspnet_Users表以不同的别名U1,U2连接了两次。并且每个用户名都从相应的表中获取。

  • 问题内容: 真正希望某种性能的高手可以向我解释为什么单次连接会导致查询变慢10倍。(此外,请不要嘲笑此查询的大小!我想获取数据库中的整个目录以通过一个查询进行输出。我不确定将其分解为较小的查询是否会更快,但是似乎不正确。) 当我运行上面的查询时,需要花费整整一秒钟的时间。我尝试对它运行EXPLAIN,它给了我以下信息: 但是我不知道那是什么意思。我该如何解决?值得庆幸的是,我确实知道查询的哪些部分