繁体   English   中英

MySQL:如何选择购买带有附加附件产品的客户

[英]MySQL: How to select customers who purchased a product with addon accessory

假设我的表格如下所示:

|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。 我需要显示所有行,包括主要产品和产品附加组件。

这是您所需的近似值

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,'%');

这不会检查数字扩展名,因此APPAPPLE将被视为附加组件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM