带不同子句的左连接

DeE*_*DEe 2 sql oracle

下面是我的插入查询。

INSERT INTO /*+ APPEND*/ TEMP_CUSTPARAM(CUSTNO, RATING)
SELECT DISTINCT Q.CUSTNO, NVL(((NVL(P.RATING,0) * '10.0')/100),0) AS RATING
FROM TB_ACCOUNTS Q LEFT JOIN TB_CUSTPARAM P
ON P.TEXT_PARAM IN (SELECT DISTINCT PRDCD FROM TB_ACCOUNTS)
AND P.TABLENAME='TB_ACCOUNTS' AND P.COLUMNNAME='PRDCD';
Run Code Online (Sandbox Code Playgroud)

在以前版本的查询中,P.TEXT_PARAM=Q.PRDCD但在插入期间TEMP_CUSTPARAM由于违反了唯一约束CUSTNO

插入查询需要很长时间才能完成。想知道如何使用distinct withLEFT JOIN语句。

谢谢。

Sin*_*ash 7

 SELECT T1.Col1, T2.Col2 FROM  Table1 T1
  Left JOIN 
(SELECT Distinct Col1, Col2 FROM Table2
) T2 ON T2.Id = T1.Id
Run Code Online (Sandbox Code Playgroud)