En lugar de restricción , creo que te refieres a condición . Necesitas usar un OR
, ya que no hay una fila que pueda satisfacer todos los WHERE
condiciones como lo has escrito:
select int_value
from test
where (qid = 1 and string_value = 'Red')
or (qid = 2 and string_value = "Green")
Si desea que int_values satisfaga ambas condiciones, puede hacer esto:
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