Ответ 1
Попробуйте следующее:
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
мы должны сделать.
Надеюсь, что это имеет смысл.