Извлечь идентификатор на основе приоритета ТАБЛИЦЫ - PullRequest
0 голосов
/ 18 июня 2020
CREATE TABLE T( ID  VARCHAR2(100), DUEDAY VARCHAR(400))
CREATE TABLE T1( ID  VARCHAR2(100), DUEDAY VARCHAR(400))

INSERT INTO T VALUES ('500001', '13')
INSERT INTO T VALUES ('500002', '13')
INSERT INTO T VALUES ('500003', '13')
INSERT INTO T1 VALUES ('500001', '14')
SELECT T.* , 'T TABLE' FROM T

UNION ALL

SELECT T1.*, 'T1 TABLE' FROM T1

Как видите, данные представлены в таблице T1 для идентификатора 500001. Если dueday равен 14, то он не должен извлекаться из 13, даже если он присутствует в таблице T.

введите описание изображения здесь

ожидаемый результат: 500002 500003

1 Ответ

0 голосов
/ 19 июня 2020

Попробуйте это.

SELECT T1.* FROM T1
                WHERE T1.DUEDAY = 13
UNION ALL
SELECT T.* FROM T 
               LEFT JOIN T1 ON t1.ID = t.ID
               WHERE T.DUEDAY = 13 AND T1.ID IS NULL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...