我有以下小提琴:

https://www.db-fiddle.com/f/TSmNDk3rMUtYCi8NNVJND/0

我的目标是左连接两个字段,但使用相同的表.

这是我的两张桌子 struct .

-------------
|    Tab1   |
-------------
| id        |
| group1_id |
| group2_id |
-------------


--------------
| groupTable |
--------------
| id         |
| name       |
--------------

以下是一些数据,例如:

Tab1 :

------------------------------
| id | group1_id | group2_id |
------------------------------
| 1  | 3         | 1         |
| 2  | 3         | 2         |
| 3  | 1         | 3         |
------------------------------

groupTable :

--------------
| id | name  |
--------------
| 1  | cars  |
| 2  | bikes |
| 3  | boats |
--------------

以及预期结果:

------------------------
| id | group1 | group2 |
------------------------
| 1  | boats  | cars   |
| 2  | boats  | bikes  |
| 3  | cars   | boats  |
------------------------

我的考试申请有问题

推荐答案

好吧,同一张桌子可以是LEFT JOIN的两倍.

查询是:

SELECT Tab1.id, g1.name AS group1, g2.name AS group2
FROM Tab1
LEFT JOIN groupTable g1 ON Tab1.group1_id = g1.id
LEFT JOIN groupTable g2 ON Tab1.group2_id = g2.id

DB小提琴更新:https://www.db-fiddle.com/f/TSmNDk3rMUtYCi8NNVJND/1

Mysql相关问答推荐

使用Workbench时如何添加mysqldump配置标志

如果存在N个特殊行,如何 Select 它们,其余的必须填充常规行,总行数不能超过MySQL中的X行?

是否可以使用 IN 或 NOT IN 从没有关联其他表中任何行的表中返回这些名称?

看不懂mysql自左连接查询

SQL - 基本的内部连接查询

如何在Pandas 中使用 to_sql

如何优化使用多个 LEFT JOIN 和 GROUP BY 子句的慢速 MySQL 查询?

在 MySQL 中跨日期和位置计算和排序实体的共现

了解 Spring 和数据库级别的事务?

了解 SQL 中的元组语法

即使我的约束是正确的,如何解决 errno: 150 外键约束形成错误?

MySQL计算特定值的列

计算执行的查询数

#1146 - 表 'phpmyadmin.pma_recent' 不存在

MySQL 导出到 outfile:CSV 转义字符

比较 MySQL 中的日期忽略 DateTime 字段的时间部分

MySQL:切换 int 字段值的简单方法

为什么在 MySQL 中使用外键约束?

如何在执行 sql 脚本时 echo 打印语句

如何使用 Java 更改数据库连接中的 MySQL 时区?