gpt4 book ai didi

sql - 按字符降序显示数据 - postgresql

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

我有这张表:

create table Enrolment (
student integer,
course varchar(5),
semester integer NOT NULL,
finalgrade char NOT NULL DEFAULT '-',
--constraints
foreign key (student) references Student(studentid) on delete cascade,
foreign key (course) references Course(courseid) on delete cascade,
primary key(student, course),
check (semester >= 1 AND semester <= 8),
check (finalgrade='F' OR finalgrade='P' OR finalgrade='G' OR finalgrade='E')
);

我想查看所有注册的最终成绩降序排列,即 E(优秀)、G(良好)、P(通过)和 F(失败)。

create table Grade(
finalgrade char NOT NULL DEFAULT '-',
number integer, -- E (corresponding to 1), G(2), P(3) and F(4)

foreign key (finalgrade) references Enrolment(finalgrade) on delete cascade,
primary key(finalgrade),

check (finalgrade='F' OR finalgrade='P' OR finalgrade='G' OR finalgrade='E')
);

然后连接表以将注册显示为第二个表中的数字。但是,第一个表的约束 finalgrade 不是唯一的,因此此解决方案不起作用。
该表的数据类似于:

table

我想显示如下数据 - E 等级将首先显示,然后是 G,然后是 P 和 F: ordered table

最佳答案

您的引用方式有误。它应该是 Enrollment 表的最终成绩,它引用了 Grade 表的最终成绩,而不是像您那样反过来。

关于sql - 按字符降序显示数据 - postgresql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26558973/

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