这样的SQL语名如何写?(50分)

  • 主题发起人 主题发起人 ymf
  • 开始时间 开始时间
Y

ymf

Unregistered / Unconfirmed
GUEST, unregistred user!
表1:
ID 客户名称 金额
001 ***公司 100

表2:
ID 数量
001 10
001 20

如何得到下面这样的结果集
ID 客户名称 金额 数量
001 **公司 100 30
 
select A.ID, A.客户名称, A.金额, B.数量 from 表1 as A, 表2 as B
where A.ID = B.ID
 
哦,发现不对,再想想。。。
 
上面的代码没有求和,应该这么写
select A.ID, A.客户名称, A.金额, sum(B.数量) from 表1 as A, 表2 as B
where A.ID = B.ID group by a.ID, a.客户名称,a.金额
 
试试这样:
select A.ID, A.客户名称, A.金额, B.数量 from 表1 as A
left join (select ID, SUM(数量) AS TheSum from 表2 Group By ID) AS B
ON A.ID = B.ID
 
多表查询
 
select A.ID, A.客户名称, A.金额, 數量合計=(Select Sum(B.数量)
from 表2 B where A.ID = B.ID) From 表1 A
:(不過這執行效率不高!
 
来自:Dephic, 时间:2002-4-29 10:54:00, ID:1075668
试试这样:
select A.ID, A.客户名称, A.金额, B.数量 from 表1 as A
left join (select ID, SUM(数量) AS TheSum from 表2 Group By ID) AS B
ON A.ID = B.ID

正确 !
 
1:
select A.ID,A.客户名称,A.金额,B.数量 from 表1 as A,表2 as B
where A.ID=B.ID
结果:
====================================
ID 客户名称 金额 数量
001 ***公司 100 10
001 ***公司 100 20
2:
select A.ID,A.客户名称,A.金额,sum(B.数量) as 数量 from 表1 as A,表2 as B
where A.ID=B.ID
GROUP BY (A.ID)
结果:
====================================
ID 客户名称 金额 数量
001 ***公司 100 30

把50分给我吧。
 
delphilai的答案不对 biggo的正确
多人接受答案了
 
后退
顶部