如何在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如果这有帮助,请也投票:)