目前真的很难解决,因为这是我试图在SQL中做的事情,但我知道应该用另一种语言(如PHP)来做。
基本上,我拥有的是一个数据库,其中包含订单号和与政策相关的产品代码。
对于一些订单,有多个阶段,如取消和升级(例如,当进行升级时,原始策略被取消,然后针对差异进行升级)
我想做的是运行一个查询
排除
所有与升级订单相关的取消(在产品代码中指定为UP),但保留所有与细节更改相关的取消。
简而言之;
该查询需要查找包括取消订单在内的所有订单,然后删除与UP具有相同订单号的任何取消订单。
我知道这基本上可以通过“foreach”来完成,它可以找到所有UP产品代码和相关订单号,然后删除与该订单号相关的所有取消订单-但我不知道如何在SQL中实现这一点,而不临时创建多个表,然后删除它们。
表格结构如下:
| Order Number | Product Code | Transaction Value |
| 1 | RRCN | -30 |
| 1 | RRUP | 12 |
| 2 | SMFP | 30 |
| 3 | SMCN | -12 |
| 3 | SMCD | 12 |
| 4 | HUCN | -30 |
因此,我需要查询来显示所有的表,但要删除与RRUP相关的RRCN。因此,查询应该查找RRUP,查看它是订单1,然后找到与订单1相关的RRCN,并将其从结果中删除-请注意,结果不是原始表。
有什么想法吗?非常感谢!(我正在运行SQL Server 2008)