sql语句怎么写才合适啊!

terriphe 发布于 2011/04/19 11:48
阅读 282
收藏 1
SQL

客户表 customer

name add tel

microsoft America 001-3

IBM America 001-2

 

订单表

PO price qty customer

001 255 25 microsoft

002 300 25 microsoft

003 100 10 microsoft

004 200 14 IBM

005 300 18 IBM

 

我想检索客户表找出符合条件的客户列表,并且显示他们的订单价格总和

 

microsoft America 655

IBm America 500

 

这样的sql语句应该怎么写啊?

 

 

 


加载中
0
鉴客
鉴客

SELECT o.customer,c.add,SUM(o.price)
FROM order o, customer c
WHERE o.customer=c.name
GROUP BY o.customer

0
terriphe
terriphe

试一下先,谢谢

0
DB_Terrill
DB_Terrill

引用来自#2楼“鉴客”的帖子

SELECT o.customer,c.add,SUM(o.price)
FROM order o, customer c
WHERE o.customer=c.name
GROUP BY o.customer

SELECT o.customer,

( select c.add FROM  customer c
WHERE o.customer=c.name ),

( select SUM(o.price)
FROM  customer c WHERE o.customer=c.name ) 

 from order o  where ???????
GROUP BY o.customer

这样更通用点

0
城头的土人
城头的土人

引用来自#4楼“于政洋”的帖子

引用来自#2楼“鉴客”的帖子

SELECT o.customer,c.add,SUM(o.price)
FROM order o, customer c
WHERE o.customer=c.name
GROUP BY o.customer

SELECT o.customer,

( select c.add FROM  customer c
WHERE o.customer=c.name ),

( select SUM(o.price)
FROM  customer c WHERE o.customer=c.name ) 

 from order o  where ???????
GROUP BY o.customer

这样更通用点

用了GROUP BY ,不用聚合函数也行么?

如果是为了去掉重复,是不是加distinct好些?

0
城头的土人
城头的土人

引用来自#2楼“鉴客”的帖子

SELECT o.customer,c.add,SUM(o.price)
FROM order o, customer c
WHERE o.customer=c.name
GROUP BY o.customer

如果用了GROUP BY子句,Select子句中除了GROUP BY用到的字段外,只能是聚合函数了吧?

在GROUP BY中再加个 c.add。

0
狼狼A狗
狼狼A狗

SELECT o.customer,c.add,SUM(o.price) 

 FROM order o, customer c 

WHERE o.customer=c.name 
GROUP BY o.customer
,c.add

服了楼上用嵌套SQL的那位大神!

返回顶部
顶部