作者JYHuang (夏天到了,冷不起来了说)
看板Database
标题Re: [讨论] 完全符合条件集合的关联
时间Tue Aug 4 22:13:35 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
: 不过这样要用程式分开来取条件,不知是否还有其它的关联法呢?
1F:推 shadow0828: 资质不够... 看不太懂,有办法叙述想要的结果吗08/04 20:07
就比如说有一个要从主机板规格来挑主机板的页面
我想在点USB3.0跟HDMI两个选项後,列出所有同时具有这两个介面的主机板
(资料库的架构如上述,主机板一张表,介面一张表,关联一张表)_
另外在进到这个产品A的页面後,列出其它也是同样俱有这两个介面的产品。
前者是要做符合条件联集的饰选(同时有USB3.0,HDMI)
後着我是想做两着条件集合完全相符的关联
(跟产品A一样都有USB3.0和HDMI的所有产品)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.255.142.252
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1438697618.A.ED8.html
2F:推 shadow0828: 接受Join ? 08/05 14:21
3F:→ JYHuang: join是指把我上面提到的sql和产品的sql做join吧? 08/05 16:18
4F:→ JYHuang: 其实在思考的是,有没有用count和having以外的方式可以 08/05 16:19
5F:→ JYHuang: 做条件相符的比对,前面有人提到用SET,不过有点受限 08/05 16:19
6F:→ JYHuang: 於现有的架构已经上线,不好做修改。 08/05 16:20
7F:→ JYHuang: 像group_contact似乎也是个不错的的方法 08/05 16:21