PostgreSQL:为box数据类型动态生成查询
我试图构造一个语句,动态地构建语法,以正确地查询postgres中的box数据类型 它看起来如下所示:PostgreSQL:为box数据类型动态生成查询,sql,postgresql,postgis,common-table-expression,dynamic-sql,Sql,Postgresql,Postgis,Common Table Expression,Dynamic Sql,我试图构造一个语句,动态地构建语法,以正确地查询postgres中的box数据类型 它看起来如下所示: 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; 上
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;
上面的查询生成:错误:类型框“”(“
是否可以动态构建这种类型的查询
查看显示如何正常查询框数据类型的答案。您可以简化整个查询:
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;
您可以简化整个查询:
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;
将替换为框(点(a.foo1,0),点(a.foo1,0))
替换为框(点(a.foo1,0),点(a.foo1,0))