sql >> Databasteknik >  >> RDS >> Mysql

Problem med frågedata i en tabell

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


  1. Databasdesign - primära nyckelnamnskonventioner

  2. Hur kan jag få en vanlig postgres-databasdump på heroku?

  3. SQL SUM-funktion utan att gruppera data

  4. När DRY-principen inte gäller:BITWISE-operationer i SQL Server