首页 > 解决方案 > 使用聚合字段加入 Cloud SQL 数据模型

问题描述

我需要为我的应用程序创建一个视图,该视图在单个表中显示来自两个 Cloud SQL 模型的数据,并聚合一个字段。

我的数据模型看起来像这样(简化)。

项目表

projectID, projectName  , projectBudget
0001     , Project Alpha, 25000
0002     , Project Beta , 2000

成本表

projectID, costAccrued
0001     , 1000
0001     , 5000
0002     , 1000
0001     , 8000
0002     , 500
0002     , 300

组合表

我正在尝试创建一个视图,显示将 costAccrued 相加的数据组合。

projectID, projectName  , projectBudget, costAccrued
0001     , Project Alpha, 25000        , 16000
0002     , Project Beta , 2000         , 1800

我找不到任何将 Cloud SQL 表与聚合字段连接的代码示例,但我知道创建计算 SQL 表是执行此操作的正确方法。

但是,我坚持如何编写 SQL 查询。这是我尝试使用的,但它不起作用,我认为这与我不理解的参数有关。

SELECT projects.`projectID`, projects.`projectName`, projects.`projectBudget`, SUM(costs.`costAccrued`)
FROM projects
LEFT JOIN costs on projects.`projectId` = costs.`projectID`    
GROUP BY projects.`projectID`;

在此处输入图像描述

标签: google-app-maker

解决方案


我自己解决了这个问题。该问题与计算 SQL 模型中的字段名称不匹配的输出列名称有关。

正确的查询如下所示(注意每个输出列都标记为与我的计算 SQL 模型中的名称匹配):

SELECT projects.`projectID` as "projectId", projects.`projectName` as "name", projects.`projectBudget` as "budget", SUM(costs.`costAccrued`) as "costAccrued"
FROM projects
LEFT JOIN costs on projects.`projectId` = costs.`projectID`    
GROUP BY projects.`projectID`;

参考:https ://developers.google.com/appmaker/models/cloudsql#calculated_sql_models


推荐阅读