Как при помощи JOIN выбрать несколько значений?

Здравствуйте!
Хочу сделать select, вида:
SELECT p.`obj_id`
 FROM  `products` p
LEFT JOIN  `objects` o ON p.`obj_id` = o.`id`
LEFT JOIN  `objects_fields` oc ON p.`obj_id` = oc.`obj_id` AND oc.`field_id` = 248
 LEFT JOIN  `objects_fields` oc ON p.`obj_id` = oc.`obj_id` AND oc.`field_id` = 221
                WHERE ".$where."";


Каким образом я могу сделать, поиск oc.`field_id` = 221 и oc.`field_id` = 228?
  • Вопрос задан
  • 171 просмотр
Решения вопроса 1
oc.`field_id` = 221 OR oc.`field_id` = 228
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ruFelix
@ruFelix
Предсказание будущего по руке, таро, кофе.
SELECT p.`obj_id`
 FROM  `products` p
LEFT JOIN  `objects` o ON p.`obj_id` = o.`id`
LEFT JOIN  `objects_fields` oc ON p.`obj_id` = oc.`obj_id` 
WHERE oc.`field_id` = 221 OR oc.`field_id` = 248


общие замечания.
Условия которые не являются правилом объединения следует выносить в WHERE.
Алисы таблиц должны быть уникальны для каждой таблицы, в вашем случае алис "oc" декларируется дважды
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы