I have the following SQL in a Stored Procedure. I apologize for the length of it:SELECT ALTSCHED.STARTDATE, ALTSCHED.ENDDATE, RESSCHDXXX.RESID, RESSCHDXXX.GROUPID, RGRPXXX.DESCR, JOBXXX.LOADID, JOBXXX.LOADSIZE, JOBXXX.STARTDATE, JOBXXX.ENDDATE-- jobroute.job,dbo.ApsDeriveJobSp(ORDERXXX.OrderTable,job.suffix,job.type,job.job,job.ps_num,ORDERXXX.ORDERID,jobitem.job,ORDERXXX.ORDTYPE)-- jobroute.suffix, (CASE WHEN ORDERXXX.OrderTable = 'job' THEN CASE WHEN job.suffix = 0 AND job.type = 'S' THEN '' ELSE job.suffix END WHEN ORDERXXX.OrderTable = 'rcpts' THEN '' WHEN ORDERXXX.OrderTable = 'jobitem' THEN jobitemjob.suffix END), jobroute.oper_num-- job.type, dbo.GetApsOrderType(ORDERXXX.ORDERID)-- job.stat, (CASE WHEN ORDERXXX.OrderTable = 'job' THEN CASE WHEN job.suffix = 0 AND job.type = 'S' THEN 'P' ELSE job.stat END WHEN ORDERXXX.OrderTable = 'rcpts' THEN 'P' WHEN ORDERXXX.OrderTable = 'jobitem' THEN jobitemjob.stat ELSE 'P' END),ORDERXXX.PARTID, job.description-- Qty at Current WC, dbo.MaxQty( 0.0, ( ISNULL(jobroute.qty_received, 0.0) - ISNULL(jobroute.qty_scrapped, 0.0) - ISNULL(jobroute.qty_moved, 0.0) ) )-- Previous WC, NULL-- Current WC, jobroute.wc-- Next WC, NULL, ROUND(CONVERT(REAL,DATEDIFF(mi, JOBXXX.ENDDATE, ORDERXXX.DUEDATE))/60.0/24.0, 8),GAI_Previous_Job_Info.Uf_ItemDieNumber ,GAI_Previous_Job_Info.Uf_ItemLength ,GAI_Previous_Job_Info.Uf_ItemFinish ,GAI_Previous_Job_Info.Uf_ItemAlloy ,GAI_Previous_Job_Info.Uf_ItemTemper ,job.ord_num -- lake 11/4/2008 djs 6100,job.ord_line -- lake 11/4/2008 djs 6100,coitem.Uf_ShippingTolerance -- lake 11/4/2008 djs 6100,item.drawing_nbr -- lake 1/15/09 djs 6100,(Select name from custaddr where cust_num = job.cust_num AND cust_seq = 0) -- lake 11/4/2008 djs 6100, RESSCHDXXX.SEQNUM -- lake 12/26/2008 djs 6100,item.unit_weight -- lake 1/15/2009 djs,CASE WHEN co.stat = 'P' THEN ROUND(item.unit_weight * jobroute.qty_received, 0) ELSE ROUND(item.unit_weight * (jobroute.qty_received - jobroute.qty_scrapped - jobroute.qty_moved), 0) END -- lake 1/15/2009 djs,coitem.qty_ordered -- lake 1/15/2009 djs,(select end_date from job_sch where job = job.job and suffix = job.suffix) -- lake 1/15/2009 djs, job.RowPointer -- GAI 06/09/2009, jobroute.RowPointer -- GAI 06/09/2009, job.NoteExistsFlag -- GAI 06/10/2009, jobroute.NoteExistsFlag -- GAI 06/10/2009FROM RESSCHD000 RESSCHDXXXLEFT JOIN RESRC000 RESRCXXX ON RESRCXXX.RESID = RESSCHDXXX.RESIDINNER JOIN GAI_PREVIOUS_JOB_INFO job ON GAI_Previous_Job_Info.Job = Job.Job And GAI_Previous_Job_Info.Suffix = (Job.Suffix - 1)INNER JOIN JOB000 JOBXXX ON RESSCHDXXX.JOBTAG = JOBXXX.JOBTAGINNER JOIN ORDIND000 ORDINDXXX ON JOBXXX.ORDERTAG = ORDINDXXX.ORDERTAGLEFT JOIN JOBSTEP000 JOBSTEPXXX ON JOBXXX.JSID = JOBSTEPXXX.JSID AND ORDINDXXX.PROCPLANID = JOBSTEPXXX.PROCPLANIDLEFT JOIN jobroute jobroute ON jobroute.RowPointer = JOBSTEPXXX.RefRowPointerLEFT JOIN ORDER000 ORDERXXX ON ORDINDXXX.ORDERID = ORDERXXX.ORDERIDLEFT OUTER JOIN job job on job.RowPointer = ORDERXXX.OrderRowPointerLEFT OUTER JOIN jobitem jobitem on jobitem.RowPointer = ORDERXXX.OrderRowPointerLEFT OUTER JOIN job jobitemjob on jobitemjob.job = jobitem.job AND jobitemjob.suffix = jobitem.suffix AND jobitemjob.item = jobitem.itemLEFT JOIN RGRP000 RGRPXXX ON RESSCHDXXX.GROUPID = RGRPXXX.RGIDLEFT JOIN ALTSCHED ON ALTSCHED.ALTNO = 0LEFT JOIN item ON job.item = item.item -- lake 11/4/2008 djs 6100LEFT JOIN itemcust ON job.cust_num = itemcust.cust_num AND job.item = itemcust.item -- lake 11/4/2008 djs 6100LEFT JOIN coitem ON job.ord_num = coitem.co_num AND job.ord_line = coitem.co_line AND job.ord_release = coitem.co_release -- lake 11/4/2008 djs 6100LEFT JOIN co ON co.co_num = coitem.co_num -- lake 1/15/2009 djsWHERE (RESSCHDXXX.STARTCD = 'A' OR RESSCHDXXX.STARTCD = 'K') AND CHARINDEX( RGRPXXX.SLTYPE, @ResourceGroupType) > 0 AND RESSCHDXXX.RESID BETWEEN @ResourceStarting AND @ResourceEnding AND RESSCHDXXX.GROUPID BETWEEN @ResourceGroupStarting AND @ResourceGroupEnding AND RESRCXXX.RESTYPE BETWEEN @ResourceTypeStarting AND @ResourceTypeEnding -- Changed by feedback from FrontStep -- AND RESSCHDXXX.STARTDATE >= @ScheduleDateStarting AND RESSCHDXXX.ENDDATE <= @ScheduleDateEnding AND RESSCHDXXX.STARTDATE <= @ScheduleDateEnding AND RESSCHDXXX.ENDDATE >= @ScheduleDateStartingORDER BY RESSCHDXXX.GROUPID, RESSCHDXXX.SEQNUM, RESSCHDXXX.STARTDATE, JOBXXX.STARTDATE ASC
On the line that starts with: INNER JOIN GAI_PREVIOUS_JOB_INFOI am getting This error: The correlation name 'job' is specified multiple times in a FROM clause.Not sure how to resolve it.If you need more code I can post it if need be