我試圖選擇存儲在列表中不同表格中的ID列表中的產品名稱。有20列查找,所以我的正常方法會作出一個巨大的查詢。有人可以建議一個簡單的方法來做到這一點?mySQL多重交叉引用選擇查詢
Table1:
id | productName
Table2
id | p1 | p2 | p3 | p4... up to p20
P1 - P20各自含有產物的ID號碼從表1
我需要選擇在表2的行,從表1
由於與相應的產品名稱替換P1-P20!
我試圖選擇存儲在列表中不同表格中的ID列表中的產品名稱。有20列查找,所以我的正常方法會作出一個巨大的查詢。有人可以建議一個簡單的方法來做到這一點?mySQL多重交叉引用選擇查詢
Table1:
id | productName
Table2
id | p1 | p2 | p3 | p4... up to p20
P1 - P20各自含有產物的ID號碼從表1
我需要選擇在表2的行,從表1
由於與相應的產品名稱替換P1-P20!
有人可以建議一個簡單的方法來做到這一點?
我想這是一個簡單的方式:
SELECT
Table2.id,
T1.productName,
T2.productName,
T3.productName,
-- etc...
FROM Table2
JOIN Table1 T1 ON Table2.p1 = T1.id
JOIN Table2 T2 ON Table2.p1 = T2.id
JOIN Table3 T3 ON Table2.p1 = T3.id
-- etc...
是的,這是一個巨大的查詢,但它很簡單。
您可能想重新考慮您的數據庫設計。這裏有一個建議:
Table1:
id | productName
Table2
id | index | productid
1 1 p1
1 2 p2
1 3 p3
...etc
查詢是這樣的:
SELECT id, index, productName
FROM Table2
JOIN Table1
ON Table2.productid = Table1.id
您是否在尋找一個簡潔的查詢或簡單的? –