如何使用Sql语句查询新客户数据

如下图,根据年份参数及所属市场参数查询,例:查询24年北京的新客户,那么只有22077符合,因为之前不存在合同,是第一次合作,如果查询参数是23年北京的新客户,那么22568,00001都符合,因为23年之前不存在合同,查询语句改如何写

create table 合同

(

合同编号 nvarchar(100),

客户编码 nvarchar(100),

合同开始日期 nvarchar(100),

合同结束日期 nvarchar(100),

所属市场 nvarchar(100)

)

insert into 合同 values('2023-22568','22568','2023-01-01','2023-12-31','北京')

insert into 合同 values('2023-00001','00001','2023-01-01','2023-12-31','北京')

insert into 合同 values('2024-22568','22568','2024-01-01','2024-12-31','北京')

insert into 合同 values('2024-22077','22077','2024-01-01','2024-12-31','北京')

SQL 帆软用户ICfzeObrHc 发布于 2024-1-25 13:12 (编辑于 2024-1-25 13:40)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
CD20160914Lv8专家互助
发布于2024-1-25 13:15(编辑于 2024-1-25 13:50)

select * from 合同 a 

where not exists(select 1 from 合同 b where a.客户编码=b.客户编码 and 合同开始日期 <'2023-01-01')

and a.合同开始日期>='2023-01-01'

and a.合同结束日期<='2023-12-31'

----------------------------------------

select * from 合同 a 

where not exists(select 1 from 合同 b where a.客户编码=b.客户编码 and 合同开始日期 <'2024-01-01')

and a.合同开始日期>='2024-01-01'

and a.合同结束日期<='2024-12-31'

image.png

image.png

  • 帆软用户ICfzeObrHc 帆软用户ICfzeObrHc(提问者) 这样not in不是都匹配不到了吗
    2024-01-25 13:36 
  • CD20160914 CD20160914 回复 帆软用户ICfzeObrHc(提问者) 把全部语句复制出来。。你建表与插入的语句。我重新修改一下
    2024-01-25 13:37 
  • 帆软用户ICfzeObrHc 帆软用户ICfzeObrHc(提问者) 回复 CD20160914 create table 合同 ( 合同编号 nvarchar(100), 客户编码 nvarchar(100), 合同开始日期 nvarchar(100), 合同结束日期 nvarchar(100), 所属市场 nvarchar(100) ) insert into 合同 values(\'2023-22568\',\'22568\',\'2023-01-01\',\'2023-12-31\',\'北京\') insert into 合同 values(\'2023-00001\',\'00001\',\'2023-01-01\',\'2023-12-31\',\'北京\') insert into 合同 values(\'2024-22568\',\'22568\',\'2024-01-01\',\'2024-12-31\',\'北京\') insert into 合同 values(\'2024-22077\',\'22077\',\'2024-01-01\',\'2024-12-31\',\'北京\')
    2024-01-25 13:38 
  • 帆软用户ICfzeObrHc 帆软用户ICfzeObrHc(提问者) 回复 CD20160914 更新在问题里了,你可以直接复制
    2024-01-25 13:47 
  • CD20160914 CD20160914 回复 帆软用户ICfzeObrHc(提问者) 上面的语句改了。只要把参数传进去就行了。not exists里面的日期只要开始日期就行
    2024-01-25 13:50 
  • 2关注人数
  • 220浏览人数
  • 最后回答于:2024-1-25 13:50
    请选择关闭问题的原因
    确定 取消
    返回顶部