看板 Database 關於我們 聯絡資訊
※ 引述《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的所有產品) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.255.142.252 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1438697618.A.ED8.html
shadow0828: 接受Join ? 08/05 14:21
JYHuang: join是指把我上面提到的sql和產品的sql做join吧? 08/05 16:18
JYHuang: 其實在思考的是,有沒有用count和having以外的方式可以 08/05 16:19
JYHuang: 做條件相符的比對,前面有人提到用SET,不過有點受限 08/05 16:19
JYHuang: 於現有的架構已經上線,不好做修改。 08/05 16:20
JYHuang: 像group_contact似乎也是個不錯的的方法 08/05 16:21