I have a table something like this –
x
RecordID PropertyID PropertyVal
--------------------------------------------------
3215 7 john doe
3215 11 Chicago
3215 13 Business Development Analyst
3216 7 jane doe
3216 11 Chicago
3216 13 Managing Director
3217 7 mike smith
3217 11 Chicago
3217 13 Business Development Analyst
3218 7 john smith
3218 11 Seattle
3218 13 Managing Director
How do I return the names of users where PropertyID = 13 AND PropertyVal='Business Development Analyst'AND PropertyID = 11 AND PropertyVal = 'Chicago'
. How do I do multiple where clauses for the same column?
Edit: I need the result set to look like this –
Name
----
John Doe
Mike Smith
Advertisement
Answer
select PropertyVal
from your_table
where PropertyID = 7
and RecordID in
(
select RecordID
from your_table
where (PropertyID = 13 AND PropertyVal='Business Development Analyst')
or (PropertyID = 11 AND PropertyVal = 'Chicago')
group by RecordID
having count(distinct PropertyID) = 2
)