Вероятно, это простой оператор SQL, но я давно занимался SQL, и у меня возникли проблемы с ним. У меня есть этот дизайн таблицы:
ID PositionId Qty LeagueId
1 1 1 5
2 3 2 5
3 8 5 2
4 1 6 4
Мне нужно получить все строки, которые имеют конкретные PositionId и Qty. Что-то вроде:
SELECT ID, PositionId, LeagueId, Qty
FROM Lineups
WHERE (PositionId = 1 AND Qty = 1) AND (PositionId = 3 AND Qty = 2)
То, что я пытаюсь получить, - это возвращаемый результат LeagueId 5, поскольку он имеет PositionId, равный 1 и Qty 1, и PositionId, равный 3 и Qty 2. Я не хочу использовать оператор OR, потому что если я изменю WHERE на:
WHERE (PositionId = 1 AND Qty = 1) OR (PositionId = 3 AND Qty = 1)
Тогда LeagueId из 5 все равно будет возвращен.