MYSQL将一个表连接到另一个表多次最佳方式

时间:2012-09-29 09:28:45

标签: mysql

好的,我有两张桌子

一个是业务

id
name
telephone
primary_category
secondary_category
tertiary_category

另一个表是类别

id
name
parent_id

现在,企业必须拥有主要/次要和可选的第三类,在这个例子中,这是实现此目的的唯一途径

SELECT * FROM business b
INNER JOIN business_category bc_1 ON b.primary_category = bc.id
INNER JOIN business_category bc_2 ON b.secondary_category = bc.id
LEFT OUTER JOIN business_category bc_3 ON b.tertiary_category = bc.id

似乎很长时间我想要的只是业务表中每个类别的名称

1 个答案:

答案 0 :(得分:0)

据我所知,你现在的做法已经很有效了。您有许多替代方法,例如在其上创建子查询,但效率低于您创建的子查询。

如果你在所有表上都有正确定义的索引,那么最好去。更具体地说,这些专栏:

primary_category
secondary_category
tertiary_category

因为这些是来自类别表的外键。