2
我正在試驗使用MySql的分面搜索。MySQL多重連接或嵌套SELECT查詢?
我有兩個表:
配件:
id product_id price
1 6000001 24.99
2 6000002 20.99
3 6000003 22.99
4 6000004 25.99
5 6000005 29.99
標籤:
id tagname tagid tagvalue product_id
1 Brand 6000008 Apple 6000001
2 Colour 6000009 Green 6000001
3 Brand 6000008 Sony 6000003
4 Brand 6000008 Sharp 6000021
5 Brand 6000008 Panasonic 6000022
6 Brand 6000008 Onkyo 6000027
目前我運行follwing查詢選擇的產品列表:
SELECT
tags.tagname,
tags.tagid,
tags.tagvalue,
accessories.*
FROM accessories
Left Join tags ON tags.product_id = accessories.product_id
WHERE tags.tagid = '6000008'
該連接給出一個包含6條記錄的記錄集。
爲了填充我搜索的方面,我還想要一個[tags.tagvalues]列表,其中[accessories.product_id]和[tags.product_id]匹配,並保留上述查詢。
所以我需要返回「Apple」和「Green」以及6條記錄。
我可以爲每個product_id啓動查詢,但這似乎是一種非常不方便的方法。也許我的方法需要重新思考。