我有三個表:MySQL:如何使用分配表在一個查詢中連接三個表?
ITEMS
itemid | itemname
1 | Item 1
FEATURES
featureid | featurename
1 | feature1
2 | feature2
3 | feature3
4 | feature4
... | ...
ASSIGN
assignid | itemid | featureid
1 | 1 | 1
1 | 1 | 2
1 | 1 | 3
1 | 1 | 4
我想要一個查詢,這將使我類似這樣的結果:
ITEMS
itemid | itemname | featurename1 | featurename2 | etc
1 | Item 1 | feature1 | feature2 | etc
有沒有辦法做到這一點,而無需第二個查詢?我發誓我只是以錯誤的方式思考它?有任何想法嗎?
注意:功能可以是0到50種不同功能的任何功能。我的數據庫設計可能是錯誤的?
[見這也許有用(http://stackoverflow.com/questions/5196371/sql-query-concatenating-results-into-one-string) – mojtaba 2013-04-25 18:52:16
如果項目只有例如。 featureid 3和4分配給它(但不是1或2),那麼你希望它的特性出現在'featurename3'和'featurename4'(匹配featureid)列中,或者在'featurename1'和'featurename2'列中出現。從左到右填充列)? – 2013-04-25 19:00:35
爲什麼所有'assignid'值'1'?這是一個錯字嗎? – 2013-04-25 19:01:54