我有一个包含以下数据的表,lab_sample_id
是相同的,我将这些数据插入到另一个表中。如果lab_sample_id
1和3的leg_id
相同,我想在插入另一个表时合并数据。
leg_id
1& 3将始终具有唯一数据,但lab_sample_id
可能相同。
这是我目前的代码:
INSERT INTO SAMPLE_RESULT
(PPK, LAB_SAMPLE_ID, LEG_ID, PT, PT_METHOD,
PT_MIN_DETECTION, CU, CU_METHOD, CU_MIN_DETECTION)
SELECT B.PK, CSR.LAB_SAMPLE_ID, CSR.LEG_ID, CSR.PT, CSR.PT_METHOD,
CSR.PT_MIN_DETECTION, CSR.CU, CSR.CU_METHOD, CSR.CU_MIN_DETECTION
FROM [SOURCE] S
JOIN CLEARING_BATCH CB ON CB.PPK = S.PK
JOIN CLEARING_SAMPLE_RESULT CSR ON CSR.PPK = CB.PK
JOIN SAMPLE_REG SR ON SR.FIELD_SAMP_ID = CSR.LAB_SAMPLE_ID
LEFT JOIN PROSPECTS_AND_MINES PM ON PM.PPK = S.PK
LEFT JOIN LABORATORY L ON L.PPK = PM.PK
LEFT JOIN BATCH B ON L.PK = B.PPK
WHERE CB.PK =@Submission_Pk
AND CB.BATCH_ID = B.BATCH_ID
AND NOT EXISTS(SELECT *
FROM SAMPLE_RESULT SR
WHERE SR.PPK = B.PK
AND SR.LAB_SAMPLE_ID = CSR.LAB_SAMPLE_ID
AND SR.LEG_ID = CSR.LEG_ID)
答案 0 :(得分:0)
这样的事情可以做到这一点,你可以JOIN
表格自己:
SELECT t1.LAB_SAMPLE_ID,
t1.LEG_ID,
t1.PT,
t1.PT_METHOD,
t1.PT_MIN_DETECTION,
t2.cu,
t2.CU_METHOD,
t2.CU_MIN_DETECTION
FROM CLEARING_SAMPLE_RESULT t1
INNER JOIN CLEARING_SAMPLE_RESULT t2
ON t1.LAB_SAMPLE_ID = t2.LAB_SAMPLE_ID
WHERE t1.LAB_SAMPLE_ID = 1 AND t2.LAB_SAMPLE_ID = 3
然后,您可以修改UPDATE
逻辑以使用此数据。