This is my code:
declare @maxsnap table (sita varchar(10), date date, SNAPSHOT_DATE date)
insert into @maxsnap 
   select 
       sita, date, max(SNAPSHOT_DATE) snapshot 
   from 
       [UKRMC].[dbo].[Roll_forecast] 
   where 
       date between '2018-03-21' and '2018-05-31'
   group by 
       sita, date 
select 
    roll.DATE, roll.SITA,
    contacts.rooms,
    roll.SEGMENT, roll.RNS 
from 
    [UKRMC].[dbo].[Roll_forecast] roll
join 
    [UKRMC].[dbo].[Contacts] contacts on contacts.SITA = roll.SITA
join 
    @maxsnap snap on roll.DATE = snap.date 
                  and roll.SITA = snap.sita 
                  and roll.SNAPSHOT_DATE = snap.snapshot
where 
    roll.date between '2018-03-21' and '2018-05-31' 
The error I am getting is
Invalid column name 'snapshot'
when I join the @maxnsap table variable. But that column does exist!
 
     
     
    