簡體   English   中英

MYSQL將一個表多次連接到另一個表的最佳方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM