Em vez de restrição , acho que você quer dizer condição . Você precisa usar um
OR
, já que não há uma linha que possa satisfazer todos os WHERE
condições como você escreveu:select int_value
from test
where (qid = 1 and string_value = 'Red')
or (qid = 2 and string_value = "Green")
Se você quiser que os int_values satisfaçam as duas condições, você pode fazer isso:
select int_value
from test
where (qid = 1 and string_value = 'Red')
or (qid = 2 and string_value = "Green")
group by int_value
having count(concat(distinct qid, string_value)) = 2