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