试试这个:
SELECT a.sales_id, d.bus_title, s.cat_id
FROM tbl_sales a
INNER JOIN tb_sales_category s ON a.sales_id = s.sales_id
INNER JOIN tbl_business d ON a.bus_id = d.bus_id
INNER JOIN tb_category b ON s.cat_id = b.cat_id
这个想法很简单,在新表中的第一个字段tb_sales_category
是sales_category_id
工作作为 代理键 ,它没有任何与其他两个表之间的关系。然后,我们来到了另外两个领域是哪些sales_id
,cat_id
这些你应该映射到关系的其他两个方面。
您不能Join tb_category b ON a.cat_id = b.cat_id
使用新模式,因为我们已经没有了a.cat_id
,这是新表tb_sales_category
角色的实现,方法是将它插入两个绑定面,一个与INNER JOIN tb_category b ON s.cat_id = b.cat_id
另一个绑定在一起INNER JOIN tb_sales_category s ON a.sales_id = s.sales_id
。
希望这是有道理的。