我想拉出未被封锁但今年没有销售的客户。但他们可能在前几年有销售,这是我一直坚持的。
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'
答案 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年的硬编码,但基本的想法是......