我有一些桌子
tech_map (17行): id,name,status,id_user_add,datetime_add,评论
tech_map_expenses (7行): id,name,cost,tech_map.id
tech_map_products (8行): id,category_id,catalog_id,total,tech_map_id
tech_map_stock (8行): id,category_id,catalog_id,total,tech_map_id
我想选择退出与其他表连接的tech_map 例如:
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)并且有重复记录。
答案 0 :(得分:1)
您应该将左连接更改为内连接。为什么呢?
左连接将仅包含没有的所有tech_map 与其他表格的连接。
内部联接仅包含所有具有连接的tech_map 与其他表格。
看看这个picture,它总能帮助我。