一个关于SQL语句如何写的问题,急啊!(50分)

  • 主题发起人 主题发起人 fpsky
  • 开始时间 开始时间
F

fpsky

Unregistered / Unconfirmed
GUEST, unregistred user!
一个关于SQL语句如何写的问题,急啊!

有两个表:
表A ----->
序号 数量 单价 总计 日期
0001 33 1.5 2001-10-29
0001 57 1.5 2001-10-30
0002 36 1.3 2001-10-29
...

表B ---->
序号 身份证号 姓名 地址
0001 ...... X1 Y1
0002 ...... X2 Y2
0003 ...... X3 Y3

想把两个表合并求值,得出:

序号 姓名 身份证号 地址 单价 数量 总计

请问大虾,这样的SQL语名怎样写,谢谢!
 
select B.序号,B.姓名,B.身份证号,B.地址,A.单价,sum(A.数量) as 数量,sum(A.单价*A.数量) 总计
from A,B where A.序号=B.序号 group by B.序号,B.姓名,B.身份证号,B.地址,A.单价;
 
如果序号是主键,可这样写:
代码:
SELECT A.序号, B.姓名, B.身份证号, B.地址,A.单价,A.数量, A.总计
FROM A RIGHT JOIN B ON A.序号 = B.序号
 
select B.序号,B.姓名,B.身份证号,B.地址,A.单价,
sum(A.数量) as 数量,sum(A.单价*A.数量) as 总计
from A inner jion B on A.序号=B.序号
group by B.序号,B.姓名,B.身份证号,B.地址,A.单价;

[^]
 
同意 westboy2000
 
主要是确定两表合并的条件(以上的两个表就是通过“序号”来连接):
1.通过where a.序号=b.序号
2.通过 a Join b on a.序号=b.序号[:D]
 
我认为设计上有问题,如果表A中同一个序号的单价不同就出问题了
 
如果求平均单价,则应先地A中求出总计.

如果每一单价一行,则参照westboy2000
 
westboy2000的
select B.序号,B.姓名,B.身份证号,B.地址,A.单价,sum(A.数量) as 数量,sum(A.单价*A.数量) 总计
from A,B where A.序号=B.序号 group by B.序号,B.姓名,B.身份证号,B.地址,A.单价;
可以了
不同单价时
看你要求了
 
select B.序号,B.姓名,B.身份证号,B.地址,A.单价,sum(A.数量) as 数量,sum(A.单价*A.数量) 总计
from A,B where A.序号=B.序号 group by B.序号,B.姓名,B.身份证号,B.地址,A.单价;
 
谢谢大家,分来了
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
593
import
I
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部