我有一个系统,用于积压用户在一个盒子内收到的产品。整个系统基于我们使用内部产品创建的这些套件。
所以我得到了Customers
和Products
,其中列出了我所拥有的一切。我有一个Boxes
表,其中包含ProductID1, ProductID2, ProductID3 and ProductID4
个字段和CustomerID
字段,指出哪个客户收到了哪个字段。
我想要做的就是,给定一组产品不在同一个订单(例如ID4, ID2, ID3, ID1
)我需要了解所有未收到任何产品的客户这个给定的集合。
我的数据库设计不好吗?最好的方法是做什么或如何进行SELECT
查询
答案 0 :(得分:1)
你可以做你想做的事:
where id4 not in (productid1, productid2, productid3, productid4) or
id2 not in (productid1, productid2, productid3, productid4) or
id3 not in (productid1, productid2, productid3, productid4) or
id1 not in (productid1, productid2, productid3, productid4)
您应该有一个名为BoxesrProducts
的表格,其中包含BoxesId
和ProductId
。这样,如果需要,盒子可以有不同的尺寸 - 甚至超过4种产品。