0

我有支付表和索賠表和TmpProcessClaims表每個表中的以下各列\兩個臨時表插入數據單表

Claim : ClaimID pk, paymentID (FK),EPPID,Claimnumber,GroupNumber, certificate number 

Payment : paymentID (pk),EPPID, checkDate 

TmpProcessClaims: TmpProcessClaimsID(pk),EPPID, ClaimNumber,Administrator,GroupNumber, 

這是我需要做的...我需要從TmpProcessClaims採取EPPID,並搜查EPPID國際收支表,如果結果是沒有支付表,我需要從兩個表結果插入索求表支付TmpProcessClaims

CREATE PROCEDURE [dbo].[InsertClaims] 
AS 
BEGIN 

CREATE TABLE #TEMPEPPID ([EPPID] VARCHAR(150), [PaymentID] BIGINT) 
CREATE TABLE #TEMPCLAIM ([EPPID] VARCHAR(150), [GroupNumber] varchar(10),[ClaimNumber] varchar(50), [CertificateNumber] varchar(15)) 

SELECT EPPID , PaymentID 
INTO #TEMPEPPID 
FROM DBO.Payment 

SELECT EPPID, [GroupNumber],[ClaimNumber],[CertificateNumber] 
INTO #TEMPCLAIM 
FROM [dbo].[TmpProcessClaimsToMedPay] 
where EPPID in (select EPPID from #TEMPEPPID) 

INSERT INTO Claim .... 

END 
GO 

但我不知道如何從兩個臨時表中的數據插入到一個表 是,這是進行正確的方式或其他任何方式都要經過這一標準

可以在任何一個請在這個問題上幫助..

許多在此先感謝...

+1

這聽起來像你打破什麼* *應該是一個單一的'INSERT ... SELECT'聲明*加入*'Paym ent'和'TmpProcessClaimsToMedPay'表,而不是引入臨時表和多個步驟,因爲沒有明顯的原因。 –

+0

@Damien_The_Unbeliever你可否請你指點我正確的方向 –

+0

'ClaimID'是身份?是Max + 1? –

回答

1

剛剛加入的表並插入:

INSERT INTO Claim([column names]) 
SELECT [column names] 
FROM DBO.Payment AS p 
INNER JOIN [dbo].[TmpProcessClaimsToMedPay] AS c 
where p.EPPID = c.EPPID