MySQL SELECT MAX в уравнении - PullRequest
       11

MySQL SELECT MAX в уравнении

1 голос
/ 15 ноября 2010

То, что я пытаюсь сделать, найти значения в таблице, которые меньше, чем MAX другого поля, минус числовое значение.Например:

   ...WHERE some_table.value_1 = 0 AND another_table.value_2 <= (SELECT MAX(another_table.value_3) - 5) ORDER BY...

Однако это не работает!Все мои соединения в порядке, и запрос выполняется без второй части инструкции WHERE, но если вы хотите увидеть остальную часть кода для получения дополнительной информации, дайте мне знать!*

Sparkles *

ps все значения являются целыми числами

Ответы [ 2 ]

2 голосов
/ 15 ноября 2010

Вот рабочий пример использования соединений, попробуйте применить его к своему:

SELECT        *
FROM          table1 t1
INNER JOIN    table2 t2
    ON        t1.join_field = t2.join_field
WHERE         t1.some_field = 1
    AND       t2.other_field <= (
                  SELECT (MAX(t22.third_field) - 5)
                  FROM   table2 t22
              );

Если это не совсем то, что вы искали, пожалуйста, дайте мне знать, и я обновлю его.

0 голосов
/ 17 мая 2014

Используйте МАКСИМАЛЬНО (...)

Что-то вроде:

SELECT MIN(p.price) AS price, p.pricegroup
FROM articles_prices AS p
_YOUR_JOINED_TABLE_
WHERE p.articleID=10
GROUP BY p.pricegroup
HAVING MAX(p.price) > _VALUE_FROM_JOINED_TABLE_;
...