我有一张包含发票级别数据的表格,我有一个业务请求来创建一个表格,其中包含要授予销售代表的新业务资金。
这是逻辑:
表结构(为简单起见)
Customer # - Invoice # - Invoice Dt - Total $$
听起来很简单,但我在sql中构建它时遇到了一些麻烦。有什么想法吗?
答案 0 :(得分:0)
一步一步
之前的客户(超过3个月但不到6个月)
SELECT CustomerNo
FROM TABLE_NAME_YOU_DID_NOT_TELL_US
WHERE InvoiceDt > CURRENT_DATE - 6 MONTHS -- newer than 6 months
AND InvoiceDt < CURRENT_DATE - 3 MONTHS -- older than 3 months
现在采取过去3个月内不包含这些内容的所有内容
CREATE VIEW NEW_CUSTOMERS AS
SELECT *
FROM TABLE_NAME_YOU_DID_NOT_TELL_US
WHERE InvoiceDt > CURRENT_DATE - 3 MONTHS -- newer than 3 months
AND CustomerNo NOT IN (
SELECT CustomerNo
FROM TABLE_NAME_YOU_DID_NOT_TELL_US
WHERE InvoiceDt > CURRENT_DATE - 6 MONTHS -- newer than 6 months
AND InvoiceDt < CURRENT_DATE - 3 MONTHS -- older than 3 months
)
您也可以通过加入来完成此操作。