2010-09-05 228 views
12
SELECT var1,var2,var3,table_name 
FROM table1 LEFT JOIN table_name on var3=table_name.id 

含義我想離開動態連接表,根據從table1table_name價值,因爲var3從那裏取。MySQL查詢JOIN

與表table_name上述查詢結果不存在

我的MySQL限制的錯誤呢?

+0

我不認爲您可以這樣做。如果你想要這種類型的功能或重新設計你想要做的事情,你可能需要將表名傳遞給存儲過程。 – spig 2010-09-05 14:39:48

+1

這不是MySQL限制。更像是SQL限制,如果你可以調用它,但我寧願說,這是一個跡象表明,你的數據庫設計有問題。 – Mchl 2010-09-05 15:01:36

+0

主表包含對象。每個對象都可以有屬性。每個屬性列出可能的值都有單獨的表格 - 值可能非常長(數百個字符),並且有很多可能的值(數千)。 所以主表每個屬性有兩個字段:attr_table_name,attr_table_id - 節省空間並允許修改屬性名稱。 查詢運行時,我返回實際的屬性值,而不是id,這就是爲什麼我需要LEFT JOIN和動態表命名。 你還會怎樣設計數據庫? – selytch 2010-09-13 04:11:50

回答