sql >> Base de Datos >  >> RDS >> Mysql

Problema con datos de consulta en una tabla

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