Ниже приведен мой вариант использования, я запрашиваю таблицы красного смещения, использую case когда, но получаю ошибку в случае, когда утверждение. ОШИБКА: утверждение 2 недействительно. ОШИБКА: синтаксическая ошибка в или около "b"
МОЙ SQL запрос:
CREATE TEMP TABLE TABLE1 AS
(SELECT
COL1
,COL2
,COL3
FROM XYZ_TABLE
WHERE CONDITION1
AND CONDITION2);
CREATE TEMP TABLE TABLE2 AS
(SELECT DISTINCT
COL1
FROM ABC_TABLE
WHERE CONDITION1
AND CONDITION2);
SELECT
COL1
,COL2
,COL3
,CASE WHEN (a.COL1 IN b.COL1) THEN 1 ELSE 0 END AS IN_TABLE_B
FROM TABLE1 a
LEFT JOIN TABLE2 b
WHERE a.COL1 = b.COL1
Чего я хочу достичь:
TABLE1
-----------------
ID | NAME | COL1
-----------------------
123 | A | BLA
234 | B | BLAA
345 | C | BLAH
456 | X | XXX
567 | N | FLS
TABLE2
-----------------
ID | COL1 | COL2
-----------------------
123 | SKLJF | BLA
345 | DKLUF | BLAH
567 | KKBDL | FLS
Желаемый выход (IS ИДЕНТИФИКАЦИЯ В ТАБЛИЦЕ 1 ПРЕДСТАВЛЯЕТСЯ В ТАБЛИЦЕ 2, ЕСЛИ ДА, ТО 1, ИЛИ 0, КОНЕЦ КАК COLUMN_NAME)
----------------------------------------------
ID | IN TABLE B |
----------------------------------------------
123 | 1 |
234 | 0 |
345 | 1 |
456 | 0 |
567 | 1 |