34,587
社区成员
发帖
与我相关
我的任务
分享
select a.购买人客户号,a.使用人客户号,b.客户姓名 购买人姓名,b.客户生日 购买人生日,
c.客户姓名 使用人姓名,c.客户生日 使用人生日 into #tmp
from 业务流水表 a,客户信息表 b,客户信息表 c where a.销售人员代码='录入的销售人员代码'
and a.购买人客户号=b.客户号 and a.使用人客户号=c.客户号
select a.* into #TEMP
from 客户信息表 a join
(
select 购买客户号 as 客户号
from 业务表
where 销售人员='123456'
union
select 使用客户号
from 业务表
where 销售人员='123456'
) b
on a.客户号=客户号
--这里照抄了:
select * from #TEMP where (DateAdd(year,Year(Getdate())-Year(客户生日),客户生日)
Between Convert(Varchar(10),Getdate(),120) And Convert(Varchar(10),Getdate()+30,120))
--try 解决跨年
select Ta.*
from 客户信息表 Ta
join (select 客户号=购买人客户号 from 业务表 where 销售人员 = '123456'
union all
select 使用人客户号 from 业务表 where 销售人员 = '123456') Tb on Ta.客户号=Tb.客户号
where datediff(day,getdate(),
case when dateadd(yy,datediff(yy,客户生日,getdate()),客户生日)>getdate() then dateadd(yy,datediff(yy,客户生日,getdate()),客户生日) else dateadd(yy,datediff(yy,客户生日,getdate())+1,客户生日) end)<=30
--try 跨年的不太好解决
select Ta.*
from 客户信息表 Ta
join (select 客户号=购买人客户号 from 业务表 where 销售人员 = '123456'
union all
select 使用人客户号 from 业务表 where 销售人员 = '123456') Tb on Ta.客户号=Tb.客户号
where datediff(day,getdate(),DateAdd(year,Year(Getdate())-Year(客户生日),客户生日)) <= 30
or datediff(day,getdate(),DateAdd(year,Year(Getdate())-Year(客户生日)+1,客户生日)) <= 30
--try
select Ta.*
from 客户信息表 Ta
join (select 客户号=购买人客户号 from 业务表 where 销售人员 = '123456'
union all
select 使用人客户号 from 业务表 where 销售人员 = '123456') Tb on Ta.客户号=Tb.客户号
where datediff(day,getdate(),detename(year,getdate()) + datename(month,客户生日) + datename(day,客户生日)) <= 30
select * from 客户信息表 where
datediff(day,getdate(),detename(year,getdate()) + datename(month,客户生日) + datename(day,客户生日)) <= 30
and 客户号 in
(
select 购买人客户号 from 业务表 where 销售人员 = '123456'
union all
select 使用人客户号 from 业务表 where 销售人员 = '123456'
)