首页 > 解决方案 > 连接 4 个表 mySQL

问题描述

我有 4 张表 Products, Products_Location, Stores, Locations

Products = [Product_ID, P_Name, Price]
Products_Location = [Location_ID,Product_ID]
Locations = [Location_ID,Stores_ID, L_Name]
Stores = [Stores_ID, S_Name] 

我正在尝试在 1 个表中显示每个表的列,但它不起作用我尝试使用内连接两次但没有工作(如果我使用 1 个内连接,它工作)这是我的代码

"SELECT Products.P_Name, Products.Price, Stores.S_Name, Locations.L_Name, Products.Product_ID 
    From Products, Locations
    INNER JOIN Stores ON Locations.Stores_ID = Stores.Stores_ID 
    INNER JOIN Products_Location ON Products.Product_ID = Products_Location.Product_ID
    Where P_Name LIKE '%$search%' OR Price LIKE '%$search%' OR S_Name LIKE '%$search%' OR L_Name LIKE '%$search%'
    ORDER BY Price ASC";

标签: mysqlsql

解决方案


您正在对产品和位置执行交叉连接。您的目标不是通过 Products.Product_ID = Products_Location.Product_ID 和 Products_Location.Location_ID = Locations.Location_ID 上的 Products_Location 表加入 Products 和 Locations 吗?


推荐阅读