繁体   English   中英

联接查询后如何显示结果表中的联结表的主键?

mysql - How to display primary key from junctional table in result table after JOIN query?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个关系数据库模型。 因为我正在学习用于这种数据库设计的MySQL查询,所以我了解基础知识,但是我明白了这个问题。

这些是我的表:

 hgs_word_types           hgs_meanings
 +----+-----------+       +----+-----------+
 | id | word_type |       | id | meaning   |
 +----+-----------+       +----+-----------+
 | 1  | noun      |       | 1  | man       |
 +----+-----------+       +----+-----------+

 junc_meaning_word_type
 +----+------------+--------------+
 | id | meaning_id | word_type_id |
 +----+------------+--------------+
 | 1  | 1          | 1            |
 +----+------------+--------------+ 

这是我的查询:

SELECT hgs_word_types.word_type, hgs_meanings.meaning
FROM junc_meaning_word_type
JOIN hgs_word_types ON junc_meaning_word_type.word_type_id = hgs_word_types.id
JOIN hgs_meanings ON junc_meaning_word_type.meaning_id = hgs_meanings.id

我得到这样的结果:

+---------------------+
| meaning | word_type |
+---------+-----------+
| man     | noun      |
+---------+-----------+

如何在此查询的结果junc_meaning_word_type.id显示为第三列? 如何制作这样的东西:

+----+---------------------+
| id | meaning | word_type |
+----+---------+-----------+
| 1  | man     | noun      |
+----+---------+-----------+

感谢您的帮助。

1 个回复

您只需选择所需的列即可。 在这种情况下,您还需要将junc_meaning_word_type.id添加到SELECT子句中。

此外,建议在多表查询的情况下使用别名 ,以确保代码清晰(可读性)并避免歧义行为。

SELECT junc.id, 
       typ.word_type, 
       mean.meaning
FROM junc_meaning_word_type AS junc
JOIN hgs_word_types AS typ
  ON junc.word_type_id = typ.id
JOIN hgs_meanings AS mean 
  ON junc.meaning_id = mean.id
1 在PRIMARY KEY和JSON数组上加入mysql表

我有一个表,带有列的table1 和另一个表与列 group是一个JSON类型字段。 我想根据第二个表组从第一个表获取记录。 我尝试了以下查询,但没有得到结果。 ...

2 如何在主键范围内有效查询非常大的MySQL表

我正在尝试查询一个非常大的MySQL表,该表的主键具有一系列值,但是查询速度太慢。 我想知道是否有更快的方法来做到这一点,特别是考虑以下几点: 瞬间运行 需要更长的时间。 由于我需要[996737629,1006737629]范围内的值,因此前一个表达式对我不起作用。 ...

3 mysql连接表,其中外键是同一表的主键

我有用户表(对于雇员和经理来说很常见),其中user_id是主键。 该表有几行员工,一列名为“是经理”,值为“是”或“否”。 因此,当我创建员工时,我可以选择从same(user)表中选择用户的经理,简而言之经理是users表中的人之一。 因此,该员工将从用户表中获取ID(因此引用 ...

4 Laravel:如何从结果访问表主键

使用$users = Users::with('employee')->get();' 我可以获取用户列表以及他们各自的员工记录。 我可以反复 正如我所评论的,这两种尝试都显示emp_no,这是两个表的主键都行不通。 ...

5 连接两个MySQL表并在表中显示结果

我有两个表,分别称为t_user和t_chat。 我正在尝试在PHP表中显示来自t_chat的消息,如下所示。 我想要显示名为t_user with username column表中t_user with username column名列的发送方和接收方名称。 我是PHP新手,对 ...

2019-02-02 18:02:53 2 32   php/ mysql
6 插入查询完成后,如何从表中获取自动生成的主键 ID?

我必须插入两个表。 但是为了插入第二个表,我需要在插入第一个表后第一个表的最新 ID。 因为第二个表是第一个表和另一个表的多对多关系。 table1(id, name, age) 和 table2(id, street, table1_id)。 第一次我将插入到 table1 然后插入行的 id ...

2016-03-29 06:59:34 1 42   php/ mysql
8 如何使用主键显示其他表中的值

我已经在Yii实施了我的项目。 我在视图部分显示搜索结果。 我编写了一个搜索查询,用于从一张名为Recipe的表中获取结果。 在该表名称中,分别为Course_ID,Cuisinename,type,colorie_count,course_id,cuisinename,type为列。 ...

2014-04-11 06:09:49 2 391   php/ yii
9 mysql-如果两个联结表中的一个具有另一个的外键,如何执行两个联结表的联接?

我是数据库设计的新手,所以我仍在学习,因此对使用不合适的术语感到抱歉,因此,我将尝试用通用语言解释我遇到的问题。 我学习了如何在中间的联结表上联结两个表(获取结果),但是当我想在一个联结表上联结一个“常规”表和一个联结表时遇到问题。 我有一个关系数据库,其中包含表和它们之间的关系,如下所 ...

10 使用MySQL中的JOIN子句查询后合并结果

我有两个这样的表: 产品 产品_缩略图 当我想获取带有缩略图的产品时,我会这样查询: 我期望的输出 但是实际输出 如您所见,有2个元素重复项,所以我需要手工合并它,有什么方法可以更轻松地实现这一点吗? 因为我的表中有许多表之间的关联性不止此,所以我使用的是PHP,我使用arra ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM