作者HankJiang (沒人要的呆江)
看板Database
標題Re: [討論] 完全符合條件集合的關聯
時間Wed Aug 5 12:20:29 2015
※ 引述《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
: 不過這樣要用程式分開來取條件,不知是否還有其它的關聯法呢?
select name
from goods
where goods_id in (select goods_id
from goods_prop
where prop_id in (1,2)
group by goods_id
having count(distinct prop_id)>=2)
不知道這樣行嗎?(其實看不太懂原PO想要的是什麼)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.171.70.2
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1438748433.A.B02.html
→ lbeeon: 我想你看不懂的可能是having那邊吧 理論上having大於的值 08/05 12:32
→ lbeeon: 會隨in的element改變 08/05 12:32
→ HankJiang: 原來如此@@ 08/05 12:41