php - 从当前用户的表 B 中选择不存在的表 A

标签 php mysql

我正在尝试从表 A 中选择当前用户在表 B 中不存在的所有记录。
事实上,我有一个项目,从表 A 获取横幅并向用户显示,然后我将此事件插入表 B(参见日志),但我不喜欢向用户显示重复的横幅。

表 A(横幅):

+-----------+
| bannerKey |
+-----------+
| x7y3      |
| r2s4      |
| j6n2      |
+-----------+

表 B(参见日志):

+-----------++----------+
| bannerKey || userName |
+-----------++----------+
| x7y3      || jack     |
| j6n2      || Chris    |
| r2s4      || Nicola   |
| j6n2      || Allen    |
| j6n2      || Nicola   |
+-----------++----------+

那么,我如何从表 A 中获取当前用户的记录,该记录当前用户过去没有看到此帖子?

最佳答案

试试这个:

select *
from banners a
where not exists (
    select 1
    from table2 b
    where username = 'currentusername'  -- substitute username here
    and a.bannerKey = b.bannerKey
)

关于php - 从当前用户的表 B 中选择不存在的表 A,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42043110/

相关文章:

php - 为什么 Doctrine 说找不到 PDO 驱动程序?

php - 使用 Jquery Tree 插件配置 ul li 标签

javascript - 如何在 JQuery 中使用 foreach 循环

php - 到处注销,我在其他地方登录过

php - Codeigniter 更新查询不起作用

php - 当我在 HTML 中运行 php 文件时,它实际上并没有显示预期的结果代码

MySQL 语法 : WHERE and LIKE clause in one query

PHP使用特殊字符进行计算

python - 如何使 python 对象 json 序列化?

mysql - 使用子查询是在不相关的表上使用 GROUP_CONCAT() 的最佳方法吗?