Francisco Tapia
fhtapia at gmail.com
Tue Aug 30 08:19:25 CDT 2011
i'm not sure, but i've always used an alias when I join my temp tables including variable tables, so my change would read FROM @ttmpWeeks AS tWeeks then your ON statment can read tWeeks.WeekNo = join clause -Francisco http://bit.ly/sqlthis | Tsql and More... <http://db.tt/JeXURAx> On Tue, Aug 30, 2011 at 1:41 AM, newsgrps <newsgrps at dalyn.co.nz> wrote: > Group, > > Can someone please explain why this is > > I get an error "Must declare the variable ttmpWeeks" when I try to save the > following in a stored procedure: > > ALTER PROCEDURE sprptProductionSummary > ( > @txtDate1 varchar(20), > @txtDate2 varchar(20) > ) > AS > SET NOCOUNT ON > > SET DATEFIRST 1 -- Monday > > DECLARE @ttmpWeeks table (WeekNo tinyint) > > DECLARE @tmpDate as datetime > > SET @tmpDate = @txtDate1 > > INSERT INTO @ttmpWeeks (WeekNo) > VALUES (DATEPART(week, @tmpDate)) > > SET @tmpDate = DATEADD(week, 1, @tmpDate) > > WHILE @tmpdate < @txtDate2 > BEGIN > INSERT INTO @ttmpWeeks (WeekNo) > VALUES (DATEPART(week, @tmpDate)) > > SET @tmpDate = DATEADD(week, 1, @tmpDate) > END > > SELECT WeekNo, ISNULL(spKnit.KnittedWeight,0) AS KnittedWeight > FROM @ttmpWeeks LEFT OUTER JOIN (SELECT DATEPART(week, > dbo.tblRoll.KnitDate) AS WeekNum, ISNULL(SUM(KnitWeight),0) AS KnittedWeight > FROM dbo.tblRoll > WHERE KnitDate BETWEEN > @txtDate1 AND @txtDate2 > GROUP BY DATEPART(week, > dbo.tblRoll.KnitDate)) AS spKnit ON @ttmpWeeks.WeekNo = spKnit.WeekNum > > {rest of code continues} > > However, if I change the last line to > GROUP BY DATEPART(week, dbo.tblRoll.KnitDate)) AS spKnit ON WeekNo = > spKnit.WeekNum > it saves and works. > > Why doesn't it accept the table part of the WeekNo field? > > > Regards > > David Emerson > Dalyn Software Ltd > Wellington, New Zealand ______________________________**_________________ > dba-SQLServer mailing list > dba-SQLServer@**databaseadvisors.com <dba-SQLServer at databaseadvisors.com> > http://databaseadvisors.com/**mailman/listinfo/dba-sqlserver<http://databaseadvisors.com/mailman/listinfo/dba-sqlserver> > http://www.databaseadvisors.**com <http://www.databaseadvisors.com> > >