我想我找到了我的问题的答案,我只是不确定语法,我不断收到 SQL 错误。
基本上,我想做与IN相反的事情。拿这个例子:
SELECT *
FROM users INNER JOIN
tags ON tags.user_id = users.id
WHERE tags.name IN ('tag1', 'tag2');
以上将返回具有“tag1”或“tag2”的任何用户。我想要同时拥有两者的用户。他们必须同时返回两个标签。我假设应该使用关键字 ALL,但不能让它工作。
谢谢你的帮助。
最佳答案
您将要再次加入标签表。
SELECT * FROM users
INNER JOIN tags as t1 on t1.user_id = users.id and t1.name='tag1'
INNER JOIN tags as t2 on t2.user_id = users.id and t2.name='tag2'
关于用于将条件应用于连接中的多行的 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4763143/