小编use*_*738的帖子

从table1中选择*在table2中不存在条件

我有2张桌子.一个是可以学习的东西的表.有一个JID可以描述每一行,并且每行都是唯一的.第二个表是已经学习的事物(JID)的日志,也是学习它的人的用户ID.我目前正在使用它来选择JID的所有数据,但只选择用户根据用户ID学习的数据.

SELECT * 
FROM tablelist1
LEFT JOIN tablelog2 ON (tablelist1.JID = tablelog2.JID) 
                       AND tablelog2.UID = 'php var'
WHERE tablelog2.JID IS NOT NULL
Run Code Online (Sandbox Code Playgroud)

我现在需要选择要学习的东西行,但只需要用户ID尚未学习的东西.我显然对此很新,请耐心等待.:)我尝试使用IS NULL,但虽然看起来它有效,但它给出了重复的JID,其中一个是NULL,一个是正确的.

mysql sql

14
推荐指数
1
解决办法
4万
查看次数

从table1中选择*,其中JID不在table2中,table2.uid也不是11111

我想从表一中选择所有内容,其中包含一列JID.这些是玩家可以学习的东西.但是有一个table2,其中列出了玩家已经学过的东西.因此,如果JID在table2中,它已被学习,我不希望从表1中选择.

例如.

表1 JID标题描述排名

表2 JID UserID value1 value2

表1可能有100行,但如果表2有9行,其中一些JID来自表1,我不希望它们被选中.更重要的是,它特定于表2中的用户ID.所以我需要通过JID过滤table2!=匹配table1中的JID,但只有在userID =传递了php变量的情况下.

希望这是有道理的.我不想要子查询.我认为可以在JID上使用左外连接,但我不确定如何隐藏USERID ...帮助!

ps如果UID不匹配,JID可以在table1和table2中......如果匹配,则在table2中找不到要选择的JID.

mysql select left-join

3
推荐指数
1
解决办法
2416
查看次数

标签 统计

mysql ×2

left-join ×1

select ×1

sql ×1