Mysql - 验证结果的一部分是否存在于另一个表中

时间:2017-10-13 16:46:45

标签: php mysql sql string search

我在Mysql中有两个表,一个是我需要向用户显示的所有数据,另一个是只删除了项目的URL列表。

我想要做的是选择所有结果,只要该元素在“已删除的项目”表中不存在。

在我的“Deleted_Items”表中,我有一个

类型的URL列表
https://example.com/video/123456/

但在我的表格“Items”中,URL列包含以下内容:

https://example.com/video/123456/dogs_and_cats/

我需要做这样的事情(伪代码):

SELECT id, url, thumb FROM Items
WHERE Items.url NOT CONTAINS Deleted_Items.url

P.S: 我和其他两个表有类似的情况但不同之处在于,在“Items”表中我有一个ID列表,在“Deleted_Items”表中我也有一个ID列表,所以我应用了以下查询:

SELECT id, url, thumb
FROM Items
LEFT OUTER JOIN Deleted_Items 
ON (Items.url = Deleted_Items.url) 
WHERE Deleted_Items.url IS NULL
LIMIT 30

1 个答案:

答案 0 :(得分:1)

您可以使用left_item.url的左连接检查为空

group: 'com.sun.mail', name: 'javax.mail', version: '1.6.0'

查看您添加的数据样本可能需要比较

 SELECT Items.id, Items.url, .Itemsthumb 
 FROM Items
 LEFT JOIN deleted_Items  ON Items.url  = deleted_Items.url
 where deleted_Items.url is null