I need to use the same cte for two sets of select statement next next .how to use that
CREATE PROCEDURE [dbo].[sGetPlatformErrorList]
@userTransId int,
@vendorKey int
AS
BEGIN
--MF 9 CHANGES START
WITH vendorKey_Active
AS
(
SELECT
vendor.vendorKey ,
vendor.vendorId
FROM
vendor WITH(NOLOCK)
INNER JOIN eraData WITH(NOLOCK)
ON eraData.vendorKey = vendor.vendorKey
AND eraData.status = 'A'
)
--MF 9 CHANGES END
SELECT
userTransVendorJnct.userTransId,
userTransVendorJnct.vendorKey,
casData.casDataId,
casData.casId,
casData.casSuffix,
casData.casType,
casData.provType,
casData.provCategory, -- New change done by Ashish Bajpai on 2011-06-29
CASE wfTaskCasDataJnct.subStatusId
WHEN 1 THEN 0
WHEN 5 THEN 1
ELSE 2
END AS flagError,
statExceptionSrc.exceptionCd,
statExceptionSrc.exceptionDesc
FROM
userTransVendorJnct INNER JOIN wfTask
ON userTransVendorJnct.userTransVendorJnctKey = wfTask.userTransVendorJnctKey
LEFT JOIN userTransCasDataJnct
ON userTransVendorJnct.userTransvendorJnctKey=userTransCasDataJnct.userTransVendorJnctKey
INNER JOIN wfTaskCasDataJnct
ON wfTaskCasDataJnct.wfTaskId = wfTask.wfTaskId
INNER JOIN statExceptionSrc
ON wfTaskCasDataJnct.exceptionSrcId = statExceptionSrc.exceptionSrcId
INNER JOIN casData
ON casData.casDataId = wfTaskCasDataJnct.casDataId
--MF 9 CHANGES START
INNER JOIN vendorKey_Active
ON vendorKey_Active.vendorKey = casData.vendorKey
LEFT JOIN AddRemoveVendorCas
ON AddRemoveVendorCas.vendorId=vendorKey_Active.vendorId
LEFT JOIN userTrans
ON userTrans.userTransId=userTransVendorJnct.userTransId
--MF 9 CHANGES END
WHERE
userTransVendorJnct.vendorkey = @vendorKey
AND userTransVendorJnct.userTransId = @userTransId
--MF 9 CHANGE
AND (userTrans.reqTypeId=17 AND AddRemoveVendorCas.vendorId IS NOT NULL AND userTransvendorJnct.transStatusId=1)
--MF 9 CHANGE
AND wfTask.subStatusId = 5;
--MF 9 CHANGES START
WITH vendorKey_Active
AS
(
SELECT
vendor.vendorKey ,
vendor.vendorId
FROM
vendor WITH(NOLOCK)
INNER JOIN eraData WITH(NOLOCK)
ON eraData.vendorKey = vendor.vendorKey
AND eraData.status = 'A'
)
--MF 9 CHANGES END
SELECT
userTransVendorJnct.userTransId,
userTransVendorJnct.vendorKey,
mtvData.mtvDataId,
mtvData.mtvId,
mtvData.provType,
mtvData.provCategory, -- New change done by Ashish Bajpai on 2011-06-29
CASE wfTaskMtvDataJnct.subStatusId
WHEN 1 THEN 0
WHEN 5 THEN 1
ELSE 2
END AS flagError,
statExceptionSrc.exceptionCd,
statExceptionSrc.exceptionDesc
FROM
userTransVendorJnct INNER JOIN wfTask
ON userTransVendorJnct.userTransVendorJnctKey = wfTask.userTransVendorJnctKey
INNER JOIN wfTaskMtvDataJnct
ON wfTaskMtvDataJnct.wfTaskId = wfTask.wfTaskId
INNER JOIN statExceptionSrc
ON wfTaskMtvDataJnct.exceptionSrcId = statExceptionSrc.exceptionSrcId
INNER JOIN mtvData
ON mtvData.mtvDataId = wfTaskMtvDataJnct.mtvDataId
--MF 9 CHANGES START
INNER JOIN vendorKey_Active
ON vendorKey_Active.vendorKey = mtvData.vendorKey
LEFT JOIN AddRemoveVendorCas
ON AddRemoveVendorCas.vendorId=vendorKey_Active.vendorId
LEFT JOIN userTrans
ON userTrans.userTransId=userTransVendorJnct.userTransId
--MF 9 CHANGES END
WHERE
userTransVendorJnct.vendorkey = @vendorKey
AND userTransVendorJnct.userTransId = @userTransId
--MF 9 CHANGE
AND (userTrans.reqTypeId=17 AND AddRemoveVendorCas.vendorId IS NOT NULL AND userTransvendorJnct.transStatusId=1)
--MF 9 CHANGE
AND wfTask.subStatusId = 5
END
↧