gpt4 book ai didi

mysql - 我应该创建一个表来跟踪 "missing"记录的实例吗?

转载 作者:行者123 更新时间:2023-11-30 22:28:11 26 4
gpt4 key购买 nike

我有一个名为 student 的表,它有以下字段:

idno(primary), lastname, status, password, syearid(foreign)

我的问题是我必须在每个 school_year(syearid) 中存储未投票的学生:

sample

我有一张表存储已经投票的学生。我应该如何跟踪未投票的学生?我应该再做一张 table 吗?我的一个问题是当学生在 school_year (2015) 或 syearid (2000) 注册并投票时,它会创建一个学生投票记录,当学生再次投票给下一个 school_year 时,它会在学生投票表中创建另一个记录,但我的问题如果学生一生只能注册一次,则如何存储未投票的学生(主要是我的 idno,因此学生不能再注册,但学生的学年与她/他注册时相同)。我该怎么办?

最佳答案

您不需要明确存储在给定年份没有投票的学生的记录。您只需将学生加入投票表并检查是否为空。没有给定年份的投票记录的学生将不会投票。我假设学生投票表中的 syearid 是投票年份,学生表中的 syearid 是学生开始上学的年份。

SELECT s.* FROM student s
LEFT JOIN student_votes sv ON (s.idno = sv.idno AND sv.syearid = 2015)
WHERE sv.syearid IS NULL

此外,假设只有某些年级的学生才有资格投票

SELECT s.* FROM student s
LEFT JOIN student_votes sv ON (s.idno = sv.idno AND sv.syearid = 2015)
WHERE sv.syearid IS NULL
AND s.syearid IN (2012, 2013, 2014, 2015)

关于mysql - 我应该创建一个表来跟踪 "missing"记录的实例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34645951/

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