Задать вопрос
@kallifan

Запрос на выборку данных из нескольких таблиц?

Помогите плз допилить запрос, не как сам не додумаю.
Есть 2 таблицы. Из первой я беру id записи а из второй перебираю параметры этой записи.
Вот код
SELECT bie.id
FROM b_iblock_element bie
INNER JOIN b_iblock_element_property biep ON bie.id = biep.IBLOCK_ELEMENT_ID
WHERE (
biep.IBLOCK_PROPERTY_ID = 19 AND biep.VALUE = 10
OR
biep.IBLOCK_PROPERTY_ID = 15 AND biep.VALUE = 10
OR
biep.IBLOCK_PROPERTY_ID = 11 AND biep.VALUE = 10
OR
biep.IBLOCK_PROPERTY_ID = 4 AND biep.VALUE = 10
)
AND 
(
biep.IBLOCK_PROPERTY_ID = 2 AND biep.VALUE = 2
OR
biep.IBLOCK_PROPERTY_ID = 10 AND biep.VALUE = 4
OR
biep.IBLOCK_PROPERTY_ID = 14 AND biep.VALUE = 6
OR
biep.IBLOCK_PROPERTY_ID = 18 AND biep.VALUE = 8
)

По отдельности когда запускаю это условие
WHERE (
biep.IBLOCK_PROPERTY_ID = 19 AND biep.VALUE = 10
OR
biep.IBLOCK_PROPERTY_ID = 15 AND biep.VALUE = 10
OR
biep.IBLOCK_PROPERTY_ID = 11 AND biep.VALUE = 10
OR
biep.IBLOCK_PROPERTY_ID = 4 AND biep.VALUE = 10
)

И это
WHERE (
biep.IBLOCK_PROPERTY_ID = 2 AND biep.VALUE = 2
OR
biep.IBLOCK_PROPERTY_ID = 10 AND biep.VALUE = 4
OR
biep.IBLOCK_PROPERTY_ID = 14 AND biep.VALUE = 6
OR
biep.IBLOCK_PROPERTY_ID = 18 AND biep.VALUE = 8
)

Выводит то что нужно. А когда совместно из использую не выводит. Я неправильно их соединяю в запросе?
  • Вопрос задан
  • 273 просмотра
Подписаться 2 Оценить 3 комментария
Решения вопроса 1
@FungusWarrior
Я знаю, что ничего не знаю
а можно у Вас попросить эти таблицы?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
igruschkafox
@igruschkafox
Специалист по сопровождению БД MS SQL
логично что не выводит
у Вас нет пересекающихся наборов в условиях

Where
"Один уникальный набор"
And
"Второй уникальный набор"
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы