mysql - 访问SQL内连接3个没有相似字段的表

标签 mysql inner-join

首先,我很确定我的答案在这里:SQL Inner-join with 3 tables?

但两周后,我放弃了。

  • 表 AssemLines 字段 ID、AssemID、ItemID、ItemQty、ServiceID、ServiceQty

  • 表项字段 ItemID、ItemName、ItemDesc

  • 表服务字段ServiceID、ServiceName、ServiceDesc

AssemLines 示例数据:

ID   -   AssemID   -   ItemID  -   ItemQty -  ServiceID   -  ServiceQty
1           1            12          102                        
2           1            62          15                              
3           1                                    3              45
4           2                                    6              90
5           2            23           5 

期望的查询结果:

AssemID   -   ItemName     -   ItemQty     -   ServiceName    -   ServiceQty
1               2" tube         102                          
1               3" tube         15
1                                                 Weld               45
2                                                 Saw                90
2               1" tube          5

有什么想法吗?

最佳答案

看来您只是想用在其他表中查找到的正确名称替换 id。所以最基本的连接应该可以工作:

SELECT a.AssemID, i.ItemName, a.ItemQty, s.ServiceName, a.ServiceQty
FROM AssemLines a
LEFT JOIN Items i
  ON a.ItemID = i.ItemID
LEFT JOIN Services s
  ON a.ServiceID = s.ServiceID

关于mysql - 访问SQL内连接3个没有相似字段的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30857216/

相关文章:

sql - 根据另一张表的Column2查询Column1

php - 哪个会消耗更少的资源?使用编程语言的子查询或两个查询

mysql - 具有多个条件的自连接

mysql - 差异获取值不在内部连接中

sql-server - 左连接和内连接的性能差异

Mysql 错误 1136 Excel

python - get() 在标记为唯一的字段上排除 MultipleObjectsReturned

MySQL/Ruby on Rails - 如何将 "SUM"写入 :has_many case

php - 内部连接 ​​MySQL 查询忽略 'WHERE' 子句?

mysql - 内连接产生的重复数据