我对 NOT LIKE 语句有疑问。我有两个 sql 表设置为标签映射。第一个表根据搜索名称找到 tag_id,第二个表根据找到的 tag_id 找到 resource_id。当我在下面运行 NOT LIKE 语句时,我收到结果:resource_id = 1。
标记映射表
tag_id name
1 meat
2 vegetarian
resource_id tag_id
1 1
1 2
询问
SELECT
f.id, f.food_name, tm.resource_id, tm.tag_id, t.name
FROM
tag as t, tagmap as tm JOIN item as f ON
(
f.id = tm.resource_id AND tm.tag_id IN
(
SELECT
t.tag_id
FROM
tag as t
WHERE
t.name NOT LIKE '%meat%'
)
)
GROUP by f.id
我需要这个查询做的是,如果它找到一个标签名为“肉”的resource_id,我不希望它返回这个resource_id。
如果我的解释不清楚,请告诉我。