0
我有2个相关表格:“大学”(id,num_courses)和“课程”(id,university_id)。我需要University.num_courses来代表COUNT课程。根据相关表更新HSQL表值
我可以查询数据,我需要:
SELECT
Universities.id,
COUNT(Courses.university_id) as NumCourses
FROM Courses
JOIN Universities ON Universities.id = Courses.university_id
GROUP BY Universities.id
如何更新它的大学?它可以自动完成吗?
这是普遍不好的数据库设计存储的计算值在表格中 - 计算的值应该通过查询或视图进行查看和处理。你为什么想要这样做?也许我们可以建议一种更好的方式来获得您所期望的最终用途。 – Lyrl
就“自动”而言,如果您的后端支持,您可以在数据库中设置一个“触发器”。默认的HSQLDB版本1.8后端在Base内部压缩,不支持触发器 - 您需要升级到HSQLDB版本2或您选择的其他数据库的“拆分”(即不在Base内)后端。 – Lyrl
@Lyrl我完全同意你的看法,但情况很复杂。基本上,我正在帮助一个有数据库项目的朋友,他的老师批准他们一起完成的设计。他对数据库(包括我)并不那么光明,并且担心会放弃他们已经达成一致的设计,但同时也必须实施那些无效的解决方案。也许这是教育的一部分,旨在为公司做好准备工作= D –