mysql - 连接两个表时如何避免重复值?

标签 mysql sql select join left-join

我正在code-igniter框架中准备一份问卷。一次显示一个问题供回答。已回答的问题将输入到一个临时表中。如果刷新页面,则已经回答了问题再次显示。为此,我尝试加入临时表和主表,但它不起作用。我使用了以下查询,

"SELECT a.boxes FROM quest a LEFT JOIN useranswer1 b ON  a.boxes!=b.question"

quest 是主表,useranswer1 是临时表。

结果包含主表中的所有值(quest)。我需要 useranswer1(临时表)中没有的值。是否可以使用连接查询或任何其他方法?

最佳答案

试试这个:

SELECT a.boxes 
FROM quest a 
LEFT JOIN useranswer1 b ON  a.boxes = b.question
WHERE b.question IS NULL;

SELECT a.boxes 
FROM quest a 
WHERE NOT EXISTS (SELECT 1 
                  FROM useranswer1 b 
                  WHERE a.boxes = b.question);

关于mysql - 连接两个表时如何避免重复值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27666263/

相关文章:

php - 在 php 中比较 2 个 csv 文件和 1 列

java - Hibernate + Mysql 创建sessionFactory失败

java - 有一个带有计数子列的 Hibernate 实体 - 没有标量子查询

mysql - 使用 Mysql Mysiam 表选择增量内最常访问的位置

sql - 这两个 SQL 查询有什么区别

mysql - 总结 MySQL 中的前 5 个值

mysql - 1 列中是否可以包含 1 个以上的日期?

mysql - 确保值的组合是唯一的,但输入任意次数 - Mysql

php - 如何在 Codeigniter 中使用 IN 运算符进行绑定(bind)查询

sql - 处理重复的字段值