Re: [討論] 完全符合條件集合的關聯

作者: JYHuang (夏天到了,冷不起來了說)   2015-08-04 22:13:35
※ 引述《JYHuang (夏天到了,冷不起來了說)》之銘言:
: 抱歉不知道標題要如何下,DB是MYSQL。
: 假設有個table是商品,另一個是屬性的關聯表
: table:goods table:prop
: goods_id name prop_id name
: 1 商品A 1 USB3.0
: 2 商品B 2 HDMI
: 3 商品C
: table:goods_prop
: goods_id prop_id
: 1 1
: 1 2
: 2 1
: 3 1
: 3 2
: 我想要透過同時具有USB3跟HDMI的條件來飾選
: 或是選商品A時,列出屬性"完全一樣"的商品
: 我用的方法是
: SELECT `goods_id`
: FROM `goods_pro`
: WHERE `prop_id` IN (1,2)
: HAVING count(`goods_id`) >= 2
: 不過這樣要用程式分開來取條件,不知是否還有其它的關聯法呢?
推 shadow0828: 資質不夠... 看不太懂,有辦法敘述想要的結果嗎 08/04 20:07
就比如說有一個要從主機板規格來挑主機板的頁面
我想在點USB3.0跟HDMI兩個選項後,列出所有同時具有這兩個介面的主機板
(資料庫的架構如上述,主機板一張表,介面一張表,關聯一張表)_
另外在進到這個產品A的頁面後,列出其它也是同樣俱有這兩個介面的產品。
前者是要做符合條件聯集的飾選(同時有USB3.0,HDMI)
後著我是想做兩著條件集合完全相符的關聯
(跟產品A一樣都有USB3.0和HDMI的所有產品)
作者: shadow0828 (Vugtis Of Shadow)   2015-08-05 14:21:00
接受Join ?
作者: JYHuang (夏天到了,冷不起來了說)   2015-08-05 16:18:00
join是指把我上面提到的sql和產品的sql做join吧?其實在思考的是,有沒有用count和having以外的方式可以做條件相符的比對,前面有人提到用SET,不過有點受限於現有的架構已經上線,不好做修改。像group_contact似乎也是個不錯的的方法

Links booklink

Contact Us: admin [ a t ] ucptt.com