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;