select * from @temp b
left join
(
select csdate
From cgshd
)A
on cast(b.Myear+right('0'+cast(b.Mymonth as varchar),2)+'01' as datetime)=A.csdate
left join
(
select csdate
From cgshd
)A
on cast(b.Myear+right('0'+cast(b.Mymonth as varchar),2)+'01' as datetime)=A.csdate
left join
(
select csdate
From cgshd
)A
on b.Myear=year(csdate) and b.Mymonth=month(A.csdate)
select * from @temp b
left join
(
select csdate
From cgshd
)A
on year(A.csdate)=B.myear and month(A.csdate)=b.mymonth
select * into #temp(
...
)然后select gysbh from
ytgyszlb
where gysbh in (select gysbh #temp)
就这样做的.