title: Stored Procedure Error: Column name or number of supplied values does not match table definition
body: <p>It says that I have an error on the   </p>
  
  <pre><code> where ResourceID = @ResourceID
  </code></pre>
  
  <p>But I don't see anything with it.</p>
  
  <p>See the whole query below. I ran this independently and it works.</p>
  
  <p>This is the independent query that I just ran.</p>
  
  <p><strong>INDEPENDENT QUERY</strong>:</p>
  
  <pre><code>  Select  
        ResourceID, OrganizationID 
    from 
        ResourceOrganization
    where 
        ResourceID = 'FA11343' 
        and EffectiveDate = (select MAX(EffectiveDate) 
                             from ResourceOrganization 
                             where ResourceID = 'FA11343' 
                             group by ResourceID)
  </code></pre>
  
  <p><strong>ACTUAL QUERY WITH ERROR INVOLVED</strong>:</p>
  
  <pre><code> if @ResourceID &lt;&gt; ''
   begin
       insert into #Resources (resourceID, OrganizationID)
          Select  
              ResourceID, OrganizationID 
          from 
              ResourceOrganization
          where 
              ResourceID = @ResourceID
              and EffectiveDate = (select MAX(EffectiveDate) 
                                   from ResourceOrganization 
                                   where ResourceID = @ResourceID
                                   group by ResourceID)
   end
  
  create procedure [dbo].[ExportResourceTime]
      @ResourceID nvarchar(30),
      @OrgUnit nvarchar(15),
      @TimeDetail int,
      @ExpenseDetail int,
      @FromDate Datetime,
      @ToDate Datetime,
      @IncludeID int,
      @TimeTypeGroup int
  as
  BEGIN 
   --SET @ResourceID = 'DM2699'
   --SET @OrgUnit = ''
   --SET @TimeDetail = 3
   --SET @ExpenseDetail = 1
   --SET @FromDate = '2013-11-01'
   --SET @ToDate = '2013-11-30'
   --SET @IncludeID = 1
   --SET @TimeTypeGroup = 21
  
  /************************** SECTION 1 - CREATING A TEMP TABLE TO GET TIME AND EXPENSE DETAILS  ********************/
  create table #ItemisedTimeandMaterials
  (
      IDNo int,
      OrderBy1 varchar(60),
      ItemDate datetime,--MOD005
      RevenueTypeCode varchar(24),
      TimeType varchar(24),
      ProjectCode varchar(20),
      taskUID int,
      OutlineNum varchar(60),
      taskname varchar(60),
      activitycode varchar(24),
      ActivityDesc varchar(60),
      ResourceID varchar(24),
      OrganizationID nvarchar(15),
      EffectiveDate datetime,
      firstname varchar(60),
      lastname varchar(60),
      ExpenseTypeCode varchar(24),
      ExpenseTypeDesc varchar(60),
      Hours decimal(8,2),
      Rate decimal(8,2),
      Total decimal(20,8),
      Descr varchar(256), --MOD005 DM Added col for relevant detail for Expenses
      TimeTypeCode nvarchar(10)
   )
  --GW: move this bit to the top--DONE
  
  create table #Resources
  (
  ResourceID nvarchar(30),
  OrganizationID nvarchar(15),
  EffectiveDate datetime
  )
  
  --select * from #Resources
  
  --insert into #Resources
  -- 1. @resourceid is present then only 1 single record in the table
  -- 2. if @orgunit  is present, find all resourceID belongs to this orgunit and insert into #resources
  
  if @ResourceID &lt;&gt; ''
   begin
   insert into #Resources (resourceID,OrganizationID)
  
    Select  ResourceID,OrganizationID from ResourceOrganization
    where ResourceID = @ResourceID
    and EffectiveDate = (select MAX(EffectiveDate) 
    from ResourceOrganization 
    where ResourceID = @ResourceID
    group by ResourceID)
    end
  
   if @OrgUnit &lt;&gt; ''
   begin
   insert into #Resources (resourceID,OrganizationID)
    Select  A.ResourceID,A.OrganizationID from ResourceOrganization a
    where A.OrganizationID like '' + @OrgUnit + '%'
    and A.EffectiveDate = (select MAX(EffectiveDate) 
    from ResourceOrganization 
    where ResourceID = A.ResourceID 
    group by ResourceID)
    end 
  
  
  -- get actual time - REGULAR
  insert into #ItemisedTimeandMaterials
  select      
  Case when @IncludeID = 1 then b.timeID else '' end, --mod 07
  e.lastname + e.firstname, 
  case when @TimeDetail = 2 then g.enddate else (case when @TimeDetail = 3 then b.TimeEntryDate else null end) end,--MOD005
  'FEES',
  'Regular',
  b.projectcode,
  b.taskuid,
  f.outlinenum,
  f.taskname,
  b.ActivityCode,
  c.ActivityDesc,
  b.resourceID,
  RES.OrganizationID,
  e.firstname,
  e.lastname,
  '','', -- expense
  sum(isnull(b.StandardHours,0)), -- MOD003 - added in isnull's
  0,--h.StandardAmt,--b.NegotiatedChargeRate, --MOD005 Change to NegotiatedChargeRate from StandardChargeRate
  0,--sum(isnull(b.StandardHours,0)* IsNull(h.standardAmt,0)),--sum(bd.BilledAmt),--MOD005 Change from BillableAmt feild (was incorrect for adjustments)
  case when @TimeDetail = 3 then b.invoicecomment else '' end,--MOD005
  case when @TimeTypeGroup = 2 then b.TimeTypeCode else '' end--MOD008
  
  from time b 
  join activity c
  on b.activitycode = c.activitycode
  join resource e 
  on b.resourceID = e.resourceID
  join project p 
  on b.ProjectCode=p.ProjectCode 
  and p.RevisionStatusCode='A'
  join task f 
  on b.projectcode = f.projectcode 
  and b.taskuid =f.taskuid 
  and f.revisionnum = p.RevisionNum
  join SMECWeekEnding g   
  on b.TimeEntryDate between g.StartDate and g.EndDate
  join #Resources RES
  on b.ResourceID = RES.ResourceID
  --left join ratesetresource h on h.resourceid = b.resourceid
  where       --b.projectcode = @PROJECTCODE and
  b.statuscode in ('A','V','T')
  and b.TimeEntryDate &gt;= @FromDate
  and b.TimeEntryDate &lt;= @ToDate
  and Isnull(b.StandardHours,0) &lt;&gt; 0
  and b.resourceid in(Select ResourceId from #Resources)
  
  --GW: need to filter by resources here      
  
  group by  
  b.projectcode,
  b.taskuid,
  f.outlinenum,
  f.taskname,
  b.ActivityCode,
  c.ActivityDesc,
  b.resourceID,
  RES.OrganizationID,
  e.firstname,
  e.lastname,
  
  case when @TimeDetail = 2 then g.enddate else (case when @TimeDetail = 3 then b.TimeEntryDate else null end) end,--MOD005
  case when @TimeDetail = 3 then b.invoicecomment else '' end,
  Case when @IncludeID = 1 then b.timeID else '' end, --mod 07
  case when @TimeTypeGroup = 2 then b.TimeTypeCode else '' end--MOD008
  having sum(isnull(b.StandardHours,0)) &lt;&gt; 0 
  
  
  -- get actual time - OVERTIME
  insert into #ItemisedTimeandMaterials
  select      
  Case when @IncludeID = 1 then b.timeID else '' end, --mod 07
  e.lastname + e.firstname, 
  case when @TimeDetail = 2 then g.enddate else (case when @TimeDetail = 3 then b.TimeEntryDate else null end) end,--MOD005
  'FEES',
  'Overtime',
  --GW: need projectcode here--DONE
  b.projectcode,
  b.taskuid,
  f.outlinenum,
  f.taskname,
  b.ActivityCode,
  c.ActivityDesc,
  b.resourceID,
  RES.OrganizationID as OrgUnit,
  e.firstname,
  e.lastname,
  '','', -- expense
  sum(isnull(b.OvertimeHours,0)), -- MOD003 - added in isnull's
  0,
  0,
  case when @TimeDetail = 3 then b.invoicecomment else '' end, --MOD005
  case when @TimeTypeGroup = 2 then b.TimeTypeCode else '' end--MOD008
  from time b 
  join activity c 
  on b.activitycode = c.activitycode
  join resource e 
  on b.resourceID = e.resourceID
  join project p 
  on b.ProjectCode=p.ProjectCode 
  and p.RevisionStatusCode='A'
  join task f
  on b.projectcode = f.projectcode 
  and b.taskuid =f.taskuid 
  and f.revisionnum = p.RevisionNum
  join SMECWeekEnding g   
  on b.TimeEntryDate between g.StartDate and g.EndDate
  join #Resources RES
  on b.ResourceID = RES.ResourceID
  
  where       
  b.statuscode in ('A','V','T')
  --and f.revisionnum = @latestapprovedrevision
  and b.TimeEntryDate &gt;= @FromDate
  and b.TimeEntryDate &lt;= @ToDate
  and Isnull(b.OvertimeHours,0) &lt;&gt; 0
  and b.resourceid in (select resourceid from #Resources)
  
  group by  
  --GW: projectcode here--DONE
  b.projectcode,
  b.taskuid,
  f.outlinenum,
  f.taskname,
  b.ActivityCode,
  c.ActivityDesc,
  b.resourceID,
  RES.OrganizationID,
  e.firstname,
  e.lastname,
  
  case when @TimeDetail = 2 then g.enddate else (case when @TimeDetail = 3 then b.TimeEntryDate else null end) end,--MOD005
  case when @TimeDetail = 3 then b.invoicecomment else '' end,
  case when @IncludeID = 1 then b.TimeID else '' end ,--mod 07
  case when @TimeTypeGroup = 2 then b.TimeTypeCode else '' end--MOD008
  having sum(isnull(b.Overtimehours,0)) &lt;&gt; 0
  
  /*********************** SECTION 7: OUTPUT DATA TO CRYSTAL REPORT ************************/
  
  -- return data to the Crystal report only if taskuid are in table 1
  
  select * 
  from #ItemisedTimeandMaterials
  order by taskUID
  
  drop table #Resources
  drop table #ItemisedTimeandMaterials
  
  END
  
  
  GO
  </code></pre>