Mark Breen
marklbreen at gmail.com
Wed Aug 31 10:36:32 CDT 2011
Hi David, what is the difference between Temp table and using a variable tables. I never used such an exotic thing ? thanks Mark On 30 August 2011 20:42, newsgrps <newsgrps at dalyn.co.nz> wrote: > Thanks Francisco. That worked and makes me more comfortable. > > David > > > At 31/08/2011, Francisco Tapia wrote: > >> 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> > >