如何在PostgreSQL中使用多对多关系编写select请求?

如何在PostgreSQL中使用多对多关系编写select请求?,sql,postgresql,select,subquery,Sql,Postgresql,Select,Subquery,我有以下表格: 如果物品成本超过某个数字,如何撰写“选择所有订单”请求? 我尝试使用: SELECT orders.order_id FROM orders INNER JOIN orders_to_things ON (orders_to_things.order_id = orders.order_id) JOIN things ON (orders_to_things.thing_id=things.thing_id) WHERE (select SUM(things.

我有以下表格:

如果物品成本超过某个数字,如何撰写“选择所有订单”请求?
我尝试使用:

SELECT orders.order_id 
FROM orders 
  INNER JOIN orders_to_things ON (orders_to_things.order_id = orders.order_id)  
  JOIN things ON (orders_to_things.thing_id=things.thing_id) 
WHERE (select SUM(things.cost) FROM things) > *some number*
但是没有得到正确的结果。

尝试以下方法:

SELECT O.order_id, sum(T.cost)
FROM orders O
INNER JOIN orders_to_things ON orders_to_things.order_id = orders.order_id  
JOIN things T ON orders_to_things.thing_id=things.thing_id 
GROUP BY O.order_id
HAVING T.cost > 'number....'
试试这个:

SELECT O.order_id, sum(T.cost)
FROM orders O
INNER JOIN orders_to_things ON orders_to_things.order_id = orders.order_id  
JOIN things T ON orders_to_things.thing_id=things.thing_id 
GROUP BY O.order_id
HAVING T.cost > 'number....'

如果需要所有订单ID,则不需要
orders
表。编写查询的最简单方法是:

SELECT ott.order_id, sum(t.cost)
FROM orders_to_things ott JOIN 
     things t
     ON ott.thing_id = t.thing_id 
GROUP BY ott.order_id
HAVING sum(t.cost) > <number>;
选择ott.order\u id,总和(t.cost)
从订单到加入
事情
关于ott.thing\u id=t.thing\u id
按ott.order\U id分组
具有总和(t.成本)>;

如果需要所有订单ID,则不需要
订单
表。编写查询的最简单方法是:

SELECT ott.order_id, sum(t.cost)
FROM orders_to_things ott JOIN 
     things t
     ON ott.thing_id = t.thing_id 
GROUP BY ott.order_id
HAVING sum(t.cost) > <number>;
选择ott.order\u id,总和(t.cost)
从订单到加入
事情
关于ott.thing\u id=t.thing\u id
按ott.order\U id分组
具有总和(t.成本)>;

谢谢您的支持help@vbif212如果这有帮助的话,请也投票:)谢谢你的支持help@vbif212如果这有帮助,请也投票:)