0
我正在尝试检索以下信息: 对于平均订单金额大于$ 1,800的每个客户,列出客户名称,客户编号和订单总数。SQL检索问题
我的代码是目前的。
SELECT c.cname, c.`cust#`, COUNT(oi.`order#`)
FROM CUSTOMER c, `ORDER` o, `ORDER_ITEM` oi
WHERE c.`cust#` = o.`cust#`
AND o.`order#` = oi.`order#`
AND AVG(o.`ord_amt`) > 1800
GROUP BY c.cname, c .`cust#`
的表和字段到我的数据库
customer(cust#:char(3), cname:varchar(30), city:varchar(20)) order (order# :char(4), odate, cust#:char(3), ord_amt:decimal(10.2)) order_item(order# :char(4), item#: char(4), qty:int(11)) item(item# :char(4), unit_price:decimal(10.2)) shipment(order# :char(4), warehouse# :char(4), ship_date:date) warehouse (warehouse#: char(4), city:varchar(20))
我想你需要将GROUP BY放在HAVING之上。 – GolezTrol 2010-11-21 09:09:59
如果我要去检索从至少两个仓库发出的订单的仓库总数的信息。我不需要嵌套子句吗? – Meat 2010-11-21 10:32:26
@Meat:这听起来像另一个GROUP BY和HAVING子句查询两个表上的直接连接 - 几乎与现有的查询同构。 – 2010-11-21 15:19:00