基本上我有2张桌子。1个表具有两个(重要)列的列表。总体思路是,第2列中的商品不能与第1列中的商品一起销售。这实际上是确定正确计费组合的一组规则。该表看起来与此类似:
col 1 ; col 2
----- -----
a ---- b
a ---- h
a ---- d
b ---- f
b ---- z
c ---- z
c ---- d
c ---- b
第1列中的物品不能与第2列中的物品一起出售。
第二个表本质上是一个“订单”表。有交易号和每笔交易的行号。在每个交易行上都有出售的物品。通常,每笔交易出售许多物品。该表的设置与此类似:
trans # ; trans line ; item
------- ----------- -----
12345 ---- 1 ---- a
12345 ---- 2 ---- b
12345 ---- 3 ---- a
45678 ---- 1 ---- z
45678 ---- 2 ---- f
我想做的是获取所有交易数据,并将其与不当项目组合列表中的数据进行协调。如您所见,事务12345违反了第一条规则,因为“ a”与“ b”一起出售。这是一般的想法。
SELECT * FROM orders ord1, orders ord2, conditions con
WHERE ord1.trans = ord2.trans
AND ord1.item = con.Product1 AND ord2.item = con.Product2
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句