我有一个表,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。

例如:



是否可以只用一张表来做到这一点,还是我需要创建一个相同的表并在这些表上进行 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/

10-12 19:17