使用聚合字段加入 Cloud SQL 数据模型
Join Cloud SQL data models with aggregated field
我需要为我的应用程序创建一个视图,以在单个 table 中显示来自两个 Cloud SQL 模型的数据,并聚合一个字段。
我的数据模型看起来像这样(简化)。
项目Table
projectID, projectName , projectBudget
0001 , Project Alpha, 25000
0002 , Project Beta , 2000
费用Table
projectID, costAccrued
0001 , 1000
0001 , 5000
0002 , 1000
0001 , 8000
0002 , 500
0002 , 300
合并Table
我正在尝试创建一个视图,以显示汇总了 costAccrued 的数据。
projectID, projectName , projectBudget, costAccrued
0001 , Project Alpha, 25000 , 16000
0002 , Project Beta , 2000 , 1800
我无法找到任何代码示例,其中 Cloud SQL tables 与聚合字段连接,但我了解到创建计算 SQL table 是正确的做法。
但是,我对如何编写 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`;
我自己解决了这个问题。该问题与输出列名称与计算 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
我需要为我的应用程序创建一个视图,以在单个 table 中显示来自两个 Cloud SQL 模型的数据,并聚合一个字段。
我的数据模型看起来像这样(简化)。
项目Table
projectID, projectName , projectBudget
0001 , Project Alpha, 25000
0002 , Project Beta , 2000
费用Table
projectID, costAccrued
0001 , 1000
0001 , 5000
0002 , 1000
0001 , 8000
0002 , 500
0002 , 300
合并Table
我正在尝试创建一个视图,以显示汇总了 costAccrued 的数据。
projectID, projectName , projectBudget, costAccrued
0001 , Project Alpha, 25000 , 16000
0002 , Project Beta , 2000 , 1800
我无法找到任何代码示例,其中 Cloud SQL tables 与聚合字段连接,但我了解到创建计算 SQL table 是正确的做法。
但是,我对如何编写 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`;
我自己解决了这个问题。该问题与输出列名称与计算 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