mysql - 仅选择具有不同值组合的条目?

标签 mysql sql

我有一个表 links1,其中包含列标题 CardID 和 AbilityID,如下所示:

CardID | AbilityID
1001   | 1
1001   | 2
1001   | 3

1002   | 2
1002   | 3
1002   | 4

1003   | 3
1003   | 4
1003   | 5

我想要的是能够返回所有具有两个特定 AbilityID 的 CardID。

例如:

If I choose 1 and 2, it returns 1001.
If I choose 3 and 4, it returns 1002 and 1003.

是否可以仅使用一个表来执行此操作,还是我需要创建一个相同的表并对这些表执行 INNER JOIN?

最佳答案

尝试自行加入:

SELECT t1.CardID 
FROM links1 AS t1 
JOIN links1 AS t2 
ON t1.CardID = t2.CardID 
WHERE t1.AbilityID = 1 AND t2.AbilityID = 2;

See this SQLFiddle

关于mysql - 仅选择具有不同值组合的条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13319257/

相关文章:

mysql - SQLYog 为 MySQL 设置变量返回 null

python - 如何从 SQLAlchemy 中的现有表中获取列名和类型?

sql - 如何链接四个表避免N元关联

mysql - #1411 - INSERT INTO...SELECT 函数 str_to_date 的日期时间值不正确

mysql - SQL计数查询帮助

mysql - mysqldump 可以让我获取数据库但只有*部分数据吗?

php - 如何获取php变量中选定的下拉项

javascript - 从两个表中选择/排序数据

php - 根据当前 session 选择计数并集

sql - Oracle 中的 Case 语句显示所有内容而不是查询项