简化SQL查询,该查询使用“行”到“json”`
我正在使用PostgreSQL 9.3中提供的函数以JSON的形式获取查询结果:简化SQL查询,该查询使用“行”到“json”`,sql,postgresql,Sql,Postgresql,我正在使用PostgreSQL 9.3中提供的函数以JSON的形式获取查询结果: SELECT row_to_json(_customer_wishes) FROM ( SELECT ... (SELECT row_to_json(_brand) FROM ( SELECT b.id, b.name, b.url ) AS _brand ) AS brand,
SELECT row_to_json(_customer_wishes) FROM (
SELECT
...
(SELECT row_to_json(_brand)
FROM (
SELECT b.id, b.name, b.url
) AS _brand
) AS brand,
JOIN brand AS b ON ...
WHERE ...
) AS _customer_wishes;
但是,我不喜欢从SELECT b.*AS.\U brand AS brand中选择row_to_json_brand
我想要像选择row_to_jsonSELECT b.*这样的东西作为品牌,但我不确定这是否可行。通常我在这种情况下使用类型,我们以面向对象的方式使用数据库。 举个例子:
CREATE TYPE type_brand AS
(
id integer,
name text,
url text
);
以及您的子查询:
SELECT row_to_json(SELECT (b.id, b.name, b.url)::type_brand) AS brand.
但是,有了表结构和设计的结果,我想我可以推荐一个更优雅的查询,在这里您可以只使用一次row_to_json