php - 如果记录不存在,如何比较表并显示?

标签 php mysql

我有一个问题,我想比较 studentvotes 和 student 这两个表。 Image of my data structures

我想显示表“studentvotes”中不存在的“student”的“idno”,但我将基于“syearid”。例如,'idno' like 'c23' 然后在 2015 年投票。但在 2016 年没有投票 'idno' 将显示 'c23' 没有为 2016 年投票。我该怎么做?

这里有一些细节:我可以按年份显示谁已经投票,但我不知道如何按年份显示没有投票的学生,这只是我现在的问题。

这是我所做的:

 $stud = mysql_query("select * from student,studentvotes where student.idno = studenvotes.idno AND student.syearid = studentvotes.syearid AND studentvotes.syearid = '$no'") or die(mysql_error());

最佳答案

尝试这样的事情。我认为这应该有效:

SELECT st.*
FROM student st
LEFT JOIN studentvotes sv 
    ON st.idno = sv.idno AND st.syearid = sv.syearid
WHERE sv.idno IS NULL

关于php - 如果记录不存在,如何比较表并显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34782142/

相关文章:

php - 更新和排序多维 PHP 数组

mysql - 使用 mysql 循环获取特定列来添加其值会返回 NaN

mysql - 使用外键插入MySQL,如果外键不存在,则自动创建新的外键

php - php 文件内的 HTML 编码和/或 echo 函数。有什么不同?

javascript - PHP - window.onbeforeunload 和自动注销冲突

java url连接设置cookie

mysql - 从查询中选择最大日期和最大时间

php - Mysql中按前缀搜索记录

python - 在python mysqldb中转义单引号

php - html 页面上方的静态消息