我宣布了两个名为Itemcode&的变量。 Itemcode2。 我试图提取包含Itemcode或Itemcode2的数据。
我的语法有问题,但我看不清楚。我已经醒了很久......
以下是问题专栏:
(AND d.ActivityCode = @ItemCode OR d.ActivityCode = @ItemCode2)
以下是整个程序:
USE [EnterpriseLive]
GO
/****** Object: StoredProcedure [dbo].[web_GetReviewTimesheetWIPDetailsByActivity4] Script Date: 12/03/2015 11:07:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[web_GetReviewTimesheetWIPDetailsByActivity4]
@Company char(15),
@ItemCode char(15),
@ItemCode2 char(15),
@StartYear smallint,
@EndYear smallint,
@ResourceCode char(15),
@ClientCode char(15),
@JobCode char(15),
@ActivityCode char(15)
AS
BEGIN
SELECT
w.LinkNumber,
w.SequenceNo,
w.TransactionDate AS TransactionDate,
w.JobCode AS JobCode,
j.JobName AS JobName,
c.ClientCode AS ClientCode,
c.ClientName AS ClientName,
w.ResourceCode AS ResourceCode,
r.ResourceName AS ResourceName,
d.ActivityCode AS ActivityCode,
(CASE d.PhaseNumber
WHEN 0 THEN d.JobDetailDescription
ELSE (SELECT JobDetailDescription
FROM JobDetail
WHERE Company = d.Company
AND JobCode = d.JobCode
AND PhaseNumber = d.PhaseNumber
AND JobDetailLevel = 1) + ': ' + d.JobDetailDescription
END) AS ActivityName,
w.JobSequenceNo AS JobSequenceNo,
NULL AS NCTimeCode,
(CASE w.Billable WHEN 1 then w.HoursWorked ELSE 0 END) AS BillableHours,
(CASE w.Billable WHEN 0 then w.HoursWorked ELSE 0 END) AS NonBillableHours,
w.HoursWorked AS TotalHours,
w.CostBase AS Cost,
(CASE w.Billable when 1 then w.CostBase + w.MarkupBase ELSE 0 END) AS Charge,
(CASE w.Billable when 0 then w.CostBase + w.MarkupBase ELSE 0 END) AS NonBillableClientCharge,
w.WIPNarrative AS WIPNarrative
FROM WIPDetails w
INNER JOIN JobHeader j ON w.Company = j.Company AND w.JobCode = j.JobCode
INNER JOIN Client c ON j.Company = c.Company AND c.ClientCode = j.JobClientCode
INNER JOIN JobDetail d ON w.Company = d.Company AND w.JobCode = d.JobCode AND w.JobSequenceNo = d.JobSequenceNo
INNER JOIN Resource r ON w.Company = r.Company AND r.ResourceCode = w.ResourceCode
WHERE w.Company = @Company
AND TransactionSource = 'TIME'
AND JobOverhead = '0'
(AND d.ActivityCode = @ItemCode OR d.ActivityCode = @ItemCode2)
AND w.TimesheetYear >= @StartYear and w.TimesheetYear <= @EndYear
AND r.ResourceCode IN (SELECT val FROM dbo.web_GetResourceCodeForWIPDetails(@Company, @ResourceCode))
AND c.ClientCode IN (SELECT val FROM dbo.web_GetClientCodeForWIPDetails(@Company, @ClientCode))
AND j.JobCode IN (SELECT val FROM dbo.web_GetJobCodeForWIPDetails(@Company, @JobCode))
ORDER BY w.TransactionDate, ResourceName, JobName, ActivityName
END
答案 0 :(得分:1)
(AND d.ActivityCode = @ItemCode OR d.ActivityCode = @ItemCode2)
更改为 -
AND d.ActivityCode IN (@ItemCode, @ItemCode2)