如何比较两个不同表中的两列
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
我是 运行 一个 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