我正在尝试做的是在表中找到小于另一个字段的MAX的值,减去一个数值。例如:
...WHERE some_table.value_1 = 0 AND another_table.value_2 <= (SELECT MAX(another_table.value_3) - 5) ORDER BY...
然而,这不起作用!我的连接都很好,查询运行时没有WHERE语句的第二部分,但是如果您想查看其余代码以获取更多信息,请告诉我们!
干杯!
闪耀*
ps所有值都是整数
答案 0 :(得分:2)
以下是使用联接的工作示例,尝试将其应用于您的:
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
);
如果这不是您想要的,请告诉我,我会更新。
答案 1 :(得分:0)
使用 HAVING MAX(...)
类似的东西:
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_;