小编joe*_*wen的帖子

postgresql 两个嵌套连接和连接中的数组

我以前从来没有问过这样的问题,我最终总是通过搜索偶然发现我正在寻找的东西,但是这里发生了很多事情,我已经完成了我的搜索能力......谢谢您的帮助/建议。

问题

我需要即时生成有关我的组织中有多少“学生”参加了每次“评估”以及与每次“评估”相关的标准的报告。

  • 学生总数提前计算并存储在评估报告中
    • 报告行需要与“评估”连接以显示信息
  • 标准有分标准,但评估只知道分标准。
  • 评估有多个子标准并将它们存储在 id 数组中。

我试图以最高效的方式做到这一点,最大限度地减少 Postgres 的负载,但我不相信我已经实现了这个目标......

设置

服务器:运行 Ubuntu 的 Amazon EC2

应用程序(服务器): Node.js (0.10.26)

应用程序(客户端): Angular.js (1.2.13)

数据库(查询): PostgreSQL (9.3.1)

数据库(缓存): MongoDB (希望将来能够缓存报告)

桌子

SQL小提琴

评估

_id                int4
description        text
category           varchar(60)
sub_standards      int4 ARRAY
...
Run Code Online (Sandbox Code Playgroud)

评估报告(预先计算的总和)

assessment_id(FK)  int4
client_id(FK)      int4
students           int4
completed          int4
incomplete         int4
...
Run Code Online (Sandbox Code Playgroud)

低于标准

_id
standard_id(FK)    int4
description        varchar(255)
...
Run Code Online (Sandbox Code Playgroud)

标准

_id                int4
name               varchar(60)
description        varchar(255)
...    
Run Code Online (Sandbox Code Playgroud)

查询

//Stored as array for readability in Node-Postgres …
Run Code Online (Sandbox Code Playgroud)

sql arrays postgresql json node.js

5
推荐指数
1
解决办法
9646
查看次数

标签 统计

arrays ×1

json ×1

node.js ×1

postgresql ×1

sql ×1