PostgreSQL: динамически построить запрос для типа данных box

Я пытаюсь создать оператор, который динамически создает синтаксис для правильного запроса типа данных box в postgres.

Это выглядит примерно так:

Note: foo1 is an integer value

with a as (
  select foo1 from foo where id = 1), 
     b as (
  select a, b, c from bar where a && '''('||a.foo1||',0,'||a.foo1||',0)''')
select * from b;

Вышеприведенный запрос дает: ERROR: invalid input syntax for type box: "'("

Можно ли построить этот тип запроса динамически?

См. Ответ Другой похожий вопрос Stackru, который показывает, как вы обычно запрашиваете тип данных box.

1 ответ

Решение

Вы можете упростить весь запрос:

SELECT b.a, b.b, b.c
FROM   foo f
JOIN   bar b ON b.a && box(point(f.foo1,0), point(f.foo1,0))
WHERE  f.id = 1;
Другие вопросы по тегам