Snarare än begränsning , jag tror att du menar tillstånd . Du måste använda en OR
, eftersom det inte finns någon rad som kan uppfylla alla WHERE
villkor som du har skrivit det:
select int_value
from test
where (qid = 1 and string_value = 'Red')
or (qid = 2 and string_value = "Green")
Om du vill att int_values ska uppfylla båda villkoren kan du göra så här:
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