首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一对多连接,多个表sql

一对多连接,多个表sql
EN

Stack Overflow用户
提问于 2017-03-28 13:01:07
回答 1查看 47关注 0票数 1

我有几张桌子

tech_map (17行):id、名称、状态、id_user_add、datetime_add、评注

tech_map_expenses (7行):id、名称、成本、tech_map.id

tech_map_products (8行):id、category_id、catalog_id、总计、tech_map_id

tech_map_stock (8行):id、category_id、catalog_id、总计、tech_map_id

我希望选择tech_map,其中退出与其他表的连接,例如:

代码语言:javascript
复制
SELECT tech_map.* 
FROM 
`tech_map`
INNER JOIN tech_map_expenses ON tech_map_expenses.tech_map_id = tech_map.id
INNER JOIN tech_map_products ON tech_map_products.tech_map_id = tech_map.id
INNER JOIN tech_map_stock ON tech_map_stock.tech_map_id = tech_map.id 
ORDER BY tech_map.id DESC 

但它返回的行太多(33行),记录重复。

EN

回答 1

Stack Overflow用户

发布于 2017-03-28 13:02:50

您应该将左联接更改为内部联接。为什么?

  • 左联接将只包含与其他表没有连接的所有tech_map。
  • 内部联接将只包含与其他表有连接的所有tech_map。

看看这个图片,它总是对我有帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43070314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档