gpt4 book ai didi

sql - PostgreSQL:将值放在一列中作为结果集中的标题?

转载 作者:行者123 更新时间:2023-11-29 13:22:16 25 4
gpt4 key购买 nike

假设我有两张 table ,一张是学校,一张是类(class)。两个表都有 SchoolID,因此可以匹配它们。它们看起来像这样:

餐 table 学校

SchoolID SchoolName
1 SchoolOne
2 SchoolTwo
3 SchoolThree

表格类

ClassID SchoolID ClassName
1 1 ClassOne
2 1 ClassTwo
3 2 ClassThree
4 2 ClassFour
5 2 ClassFive
6 3 ClassSix
7 3 ClassSeven

我希望我的结果集是这样的

SchoolOne   SchoolTwo   SchoolThree
ClassOne ClassThree ClassSix
ClassTwo ClassFour ClassSeven
NULL ClassFive NULL

我听说在 TSQL 中我可以使用 group by with rollup 但似乎这是不可能的,或者至少我不明白如何使用它 from here .

最佳答案

不完全是一个枢轴,但应该在您的代码中允许相同的编程结果:

select ts.schoolName 
, array_agg(tc.className order by tc.className) vals
from tableSchools ts
join tableClasses tc tc.schoolID=ts.schoolID
group by ts,schoolName

注意:根据您的客户,返回 JSON 而不是数组可能更容易。如果您需要这部分的帮助,请告诉我,我会更新。

关于sql - PostgreSQL:将值放在一列中作为结果集中的标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39615181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com