H2 параметризует таблицу временных значений в соединении

В PostgreSQL у меня есть следующий запрос, чтобы проверить существование строк, которые имеют точно требуемую комбинацию полей:

SELECT * FROM data 
RIGHT JOIN (VALUES (2,2),(4,6)) AS t (o,p) ON p = set1_value AND o = set2_value 
where id is null;

Это возвращает мне все комбинации в списке ЗНАЧЕНИЙ, которые не были найдены в data Таблица.

H2 выдает синтаксическую ошибку для этого: t([*]o,p)

И я не вижу выхода из этого. Я пытался запустить H2 в Postgresql совместимости, не работает.

Есть ли другой способ, которым я могу достичь этого?

Я не знаю что AS t(o,p) На часть синтаксиса нужно ссылаться, поэтому я не могу найти этот термин. Выглядит как параметризованная временная таблица или что-то в этом роде, но это не дает никаких ответов.

1 ответ

Решение
SELECT * 
FROM data 
RIGHT JOIN 
( 
   select 2 as o, 2 as p
   union all
   select 4, 6
) as t ON p = set1_value AND o = set2_value 
where id is null;
Другие вопросы по тегам