Thay vì ràng buộc , Tôi nghĩ ý bạn là điều kiện . Bạn cần sử dụng OR
, vì không có một hàng nào có thể đáp ứng tất cả WHERE
điều kiện như bạn đã viết nó:
select int_value
from test
where (qid = 1 and string_value = 'Red')
or (qid = 2 and string_value = "Green")
Nếu bạn muốn int_values thỏa mãn cả hai điều kiện, bạn có thể thực hiện điều này:
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