mysql - 多表的SQL查询问题

标签 mysql sql multiple-tables

在查找我的表的查询时遇到问题

我有 2 个表选项卡 table1 和 table2,如下所示

table1
id (int) auto_increment
table2_id1(int)
table2_id2(int)
table2_id3(int)
table2_id4(int)

表2

id(int) auto
name (varchar)

我要做的是获取一个查询来显示 table2.name 的名称,而不是 table2_id1 整数。

举例说明我将做什么并且没有查询

1....test...test...test...test
2....mos...test...mos...mos

我的表格如下

表1

1   1   1   1   1   
2   2   1   2   2

表2

1   test
2  mos

希望你能理解我想做的事情,可能是一些简单的方法来获得结果,但我找不到它。我很高兴能得到所有帮助。

最佳答案

您需要使用别名连接到表 2,4 次不同,请注意,正如 Mike 指出的那样,这不是一个很好的结构,您最好创建一个不同的表来处理这种一对多关系,而不是在表 1 上添加列

 SELECT Table1.id, a.name AS name1, b.name AS name2, c.name as name3, d.name AS name4
 FROM Table1
      JOIN Table2 a on Table1.table2_id1 = a.id 
      JOIN Table2 b on Table1.table2_id2 = b.id 
      JOIN Table2 c on Table1.table2_id3 = c.id 
      JOIN Table2 d on Table1.table2_id4 = d.id 

关于mysql - 多表的SQL查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14615685/

相关文章:

php - 查找存在于多个表中的记录

MySQL 获取具有特定属性的项目,按包含的属性数量排序

mysql - 为什么 MySQL 没有正确命名我的外键?

函数内的 SQL 查询

mysql - 根据第一个表中的 id 从第二个表中选择行

sql - 在 SQL Server 中按 COUNT 子查询进行分组

具有多个 "Users"表的 Cakephp 身份验证

mysql - 计算与其列相关的字段

javascript - 在模态弹出窗口上运行 MYSQL 查询

mysql - Magento - 以编程方式进行 SQL 查询