将记录分成SQL Server中的“存储桶”

时间:2017-12-06 19:21:36

标签: sql sql-server

我需要设计表和查询来执行以下操作:

每周我们都会收到一份新的客户表,这些客户将被放入3个可能的“桶”之一:

他们需要安排今天发送给A,但是......

如果他们上周已经收到了A字母,那么他们需要安排下周寄给B字母,但是......

如果他们已经收到了字母B,那么他们需要安排在2周内获得字母C,但是......

如果他们已经被送到了所有三个,那么我不需要发送任何东西。

每周我会从最后一次获得一些新客户表和一些新客户表,并且必须再次运行。

我一直在思考最好的方法来做几天,也许是使用CASE WHEN语句或其他东西;有没有其他人有一个非常好的主意,一个简单,优雅的方式来做到这一点?

2 个答案:

答案 0 :(得分:1)

我会通过客户表,字母表(A,B,C,...)之间的连接以及两者之间的连接表来实现这一点,每个客户和字母表以及[sent_date专栏。从那里开始简单地加入" WHERE [sent_date] BETWEEEN ..."或者沿着这条逻辑线的东西会让你知道该怎么做。

答案 1 :(得分:0)

我会用CASE WHEN语句来做。