好的,我有两张桌子
一个是业务
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
似乎很长时间我想要的只是业务表中每个类别的名称
答案 0 :(得分:0)
据我所知,你现在的做法已经很有效了。您有许多替代方法,例如在其上创建子查询,但效率低于您创建的子查询。
如果你在所有表上都有正确定义的索引,那么最好去。更具体地说,这些专栏:
primary_category
secondary_category
tertiary_category
因为这些是来自类别表的外键。