WHERE
фильтрует каждую строку, поэтому meta_key
не может быть типа школы и страны.
Попробуйте выражение HAVING
:
SELECT post_id
FROM wp_postmeta
WHERE meta_key='school-type' OR meta_key='country'
GROUP BY post_id
HAVING SUM(
IF(meta_key='school-type',
meta_value='Community College' OR meta_value='4 Year University',
meta_value='usa' OR meta_value='canada'
)) = 2
Или, Если вы хотите получить обе строки:
SELECT post_id
FROM wp_postmeta
WHERE
((meta_key='school-type' AND meta_value='Community College') OR (meta_key='school-type' AND meta_value='4 Year University'))
OR
((meta_key='country' AND meta_value='usa') OR (meta_key='country' AND meta_value='canada'))