【问题标题】:create an output column创建输出列
【发布时间】:2021-12-15 11:14:27
【问题描述】:

我在客户级别上工作,我有一个包含我正在销售的 3 种产品类型的列,我想要了解每个客户他们已经购买了哪些产品? 但是如果该客户购买了不止一件商品怎么办? 我想创建一个专栏,告诉我他们到底买了什么“咖啡”、“马克杯”或“巧克力”…… 我如何在输出中表示它?同样,所有这些信息都存储在一个名为“产品”的列中

谢谢

【问题讨论】:

  • 你好。首先我想提一下,Stackoverflow 不是一个家庭作业写作服务。话虽如此,我们需要您提供更多信息:您的表格、您的数据、您当前的工作以及您当前和期望的输出。

标签: sql database datagrid report snowflake-cloud-data-platform


【解决方案1】:

对于 Snowflake,您可以使用 LISTAGGARRAY_AGG,具体取决于您要将数据存储为字符串还是数组。在 Snowflake 中,我建议您将这些数据存储为数组,因为这样在以后查询时更容易处理。

https://docs.snowflake.com/en/sql-reference/functions/array_agg.html

https://docs.snowflake.com/en/sql-reference/functions/listagg.html

【讨论】:

    【解决方案2】:

    您想使用 GROUP_CONCAT (mySQL) 或 STRING_AGG (tSQL)

    所以你想为mysql做这样的事情:

    SELECT a.[CustomerID], GROUP_CONCAT(a.[Product])  as Products 
    FROM [tblSells] a 
    GROUP BY a.[CustomerID];
    

    或者对于 tsql 是这样的:

    SELECT a.[CustomerID], STRING_AGG(a.[Product],'.') as Products 
    FROM [tblSells] a
    GROUP BY a.[CustomerID];
    

    【讨论】:

      猜你喜欢
      • 2015-05-18
      • 1970-01-01
      • 2011-01-29
      • 1970-01-01
      • 1970-01-01
      • 2012-04-16
      • 1970-01-01
      • 2018-10-16
      • 1970-01-01
      相关资源
      最近更新 更多