[英]MYSQL join one table to another single tables multiple times best way
好,我有兩張桌子
一是生意
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
似乎很長,我想要的只是業務表中每個類別的名稱
據我所知,您現在的操作方式已經很有效。 您有許多選擇,例如在其上創建子查詢,但其效率不如所創建的子查詢。
如果您在所有表上都有正確定義的索引,那么就可以了。 在這些列上更具體地說:
primary_category
secondary_category
tertiary_category
因為這些是類別表中的外鍵。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.