假设我的表格如下所示:
|CUSTOMER | PRODUCT | PURCHASE ID | DATE |
|1A | A | 1234 | 01/01/2017 |
|1A | A1 | 12345 | 01/01/2017 |
|1B | A | 5432 | 02/01/2017 |
|1B | B | 54321 | 03/01/2017 |
|1B | C | 43215 | 04/01/2017 |
|1C | A | 6789 | 05/01/2017 |
|1C | A2 | 67891 | 05/01/2017 |
我如何仅选择使用附加产品购买特定产品的客户。主要产品是A,B或C,添加件为A1,B1或C1等。附件必须在同一天购买,但可以有不同的购买ID。我需要显示所有行,包括主要产品和产品附加组件。
答案 0 :(得分:2)
这是您所需要的近似值
SELECT *
FROM sale_table S
JOIN sale_table as A
ON A.CUSTOMER=S.CUSTOMER AND A.DATE=S.DATE AND
A.PRODUCT<>S.PRODUCT AND
A.PRODUCT LIKE CONCAT(S.PRODUCT,'%');
这不会检查数字扩展名,因此APP
和APPLE
会被视为加载项。