Я хочу получить объекты, которые удовлетворяют всем n ограничениям Я даю их.
ИЛИ операции могут быть выполнены UNION.Я бы не стал задавать этот вопрос, если бы MySQL поддерживал INTERSECT.
У меня есть объекты в таблице subject и их атрибуты в * subject_attribute *.
Я вижу единственный способ для операций AND как вложенные запросы :
SELECT id
FROM subject_attribute
WHERE attribute = 'des_sen'
AND numerical_value >= 2.0
AND id
IN (
SELECT id
FROM subject_attribute
WHERE attribute = 'tough'
AND numerical_value >= 3.5
)
Это означает: «извлекать объекты, которые удовлетворяют наименьшему подзапросу, затем исключать тех, кто удовлетворяет более высокому запросу» и т. Д.
rows(condn x) AND rows(condn y) AND rows(cond z) <--ideal
rows(condn x:rows(cond y:rows(cond z))) <-- I am stuck here
Я предпочитаю линейноцепочка условий вместо того, чтобы вкладывать их, как я хочу,
- составлять запросы программно
- лучше их отлаживать
Мой вопрос: Учитывая n отдельных запросов , как я И их чисто и линейно в MySQL?
Не используя вложенные запросы или хранимые процедуры.
Обратите внимание на частьоб отдельных запросах.
Обновление : Джонатан Леффлер ответил правильно.Ответ Марка Баннистера намного проще (но я принял несколько плохих решений).Пожалуйста, обратитесь к моему ответу, если вы все еще не знаете, как присоединиться.