对于当年没有销售的客户,需要有关nav SQL的帮助

时间:2016-10-31 14:28:32

标签: sql

我想拉出未被封锁但今年没有销售的客户。但他们可能在前几年有销售,这是我一直坚持的。

select 'company ' AS COMPANY,c.[No_], c.[Name], SA.[Year No_]
from [company$customer] c
left join 
[company$Sales Analysis]sa on sa.[Customer No_] = c.[No_]
where sa.[Year No_] IS NULL 
AND c.[blocked] ='0'

1 个答案:

答案 0 :(得分:0)

您可以在连接条件中包含[Year No_]约束。

从评论中,我的理解是"当前年份"您的数据中显示2017年。您希望连接条件在当前年份中包含销售额,以便外部联接将为没有标记2017年的销售的任何人生成NULL [年份编号]值(无论是否或不是他们有较旧的销售)。然后WHERE子句中的NULL检查选择那些生成的NULL值。

这样的东西
select 'company ' AS COMPANY,c.[No_], c.[Name], SA.[Year No_]
  from           [company$customer] c
       left join [company$Sales Analysis]sa 
              on sa.[Customer No_] = c.[No_]
             and sa.[Year No_] = 2017
 where sa.[Year No_] IS NULL 
   AND c.[blocked] ='0'

当然,您可能希望使用参数或基于系统日期的表达式而不是2017年的硬编码,但基本的想法是......