好的......我有这个问题:
SELECT * from Orders o
INNER JOIN OrderStatus os
ON o.Serial = os.Serial
WHERE (
Select Max(StatusCode) FROM OrderStatus Where Serial = o.Serial
) < 14;
我认为这表示从最高状态代码小于14的两个表中选择所有内容
但它只是选择所有内容(每个订单在14以下至少有1个与之关联的状态代码)
我也试过这个:
SELECT * from Orders o
INNER JOIN OrderStatus os
ON o.Serial = os.Serial
WHERE Max(os.StatusCode) < 14;
但是你不能在访问中使用聚合函数,所以它只是错误的。
是否有一种过滤访问查询的方法,以便它只返回订单中最高状态代码低于指定数字的行?
答案 0 :(得分:1)
我认为你正在寻找这样的东西:
SELECT *
FROM
Orders o
INNER JOIN
OrderStatus os
ON o.Serial = os.Serial
WHERE o.Serial IN
(
SELECT Serial
FROM OrderStatus
GROUP BY Serial
HAVING MAX(StatusCode)<14
)