首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谁能解释一下如何从select中获取列的值,并将其赋值给postgres中的另一个select

谁能解释一下如何从select中获取列的值,并将其赋值给postgres中的另一个select
EN

Stack Overflow用户
提问于 2021-01-12 03:40:49
回答 1查看 29关注 0票数 0

有人能解释一下如何将列的值从一个select传递到另一个select吗?在我的例子中,如何将值参数传递给名为“cad_products.id_product”的字段?

遵循代码。

代码语言:javascript
复制
SELECT
    json_agg ( T ) AS retorno 
FROM
    (
SELECT
    cad_products.*,
    json_agg ( b ) AS properties 
FROM
    cad_products,
    (
SELECT
    cad_properties.id_property,
    cad_properties.description 
FROM
    cad_products_properties
    LEFT JOIN cad_properties  ON cad_products_properties.id_property  = cad_properties.id_property  
WHERE
    cad_products_properties.id_product = **"parameter"**
    ) b 
WHERE
    cad_products.id_agr = 37
GROUP BY
    cad_products.id_product 
    ) T
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-12 05:45:19

很难说你的参数是什么,它来自哪里,但我建议在连接中处理它。此外,使用CTE可以在一定程度上提高可读性,如下所示:

代码语言:javascript
复制
WITH data AS
(
SELECT prod.*
     , json_object_agg(prop.id_property, prop.description) AS properties
  FROM cad_products prod
  JOIN cad_products_properties cpp ON (cpp.id_product = prod.id_product) -- Not sure what your parameter is
  LEFT JOIN cad_properties prop ON (cpp.id_property = prop.id_property)
) SELECT JSON_AGG(data) AS retorno; 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65673476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档