如何比较两个不同表中的两列

How do I compare two columns from two different tables

我是 运行 一个 CREATE TABLE TBL AS SELECT 声明如下。我想写一个 CASE STATEMENT 来比较 列 X.PRESC_ID 中的值与列 Y.PRSC_NPI 中的值,如果匹配,则应插入到 TBL.PRESC_ID, 对于所有与 Y.PRSC_NPI 中的任何值都不匹配的 X.PRESC_ID 应该插入到 TBL.PRSC_NPI_N

CREATE  TABLE TBL (
      Col1,
      Col2,
      PRESC_ID,
      PRSC_NPI_N,
 AS 
 (
          SELECT  
                 Col1,
                 Col2,
                 PRESC_ID,
                 PRSC_NPI_N,
                 FROM   TBL2 X
    JOIN
        (SELECT CLAIM_ID,PRSC_NPI FROM TBL3) Y
                ON Y.CLAIM_ID  = Y.Col1

我已经尝试了下面的方法,但它不起作用

CASE
WHEN X.PRESC_ID = Y.PRSC_NPI THEN TBL.PRESC_ID
ELSE TBL.PRSC_NPI_N
END

             

看来您确实需要两个 CASE 表达式,每个结果列一个。像

CASE WHEN X.PRESC_ID = Y.PRSC_NPI THEN X.PRESC_ID END AS PRESC_ID,
CASE WHEN NOT(X.PRESC_ID = Y.PRSC_NPI) THEN X.PRSC_NPI_N END AS PRSC_NPI_N