又一个SQL语句的问题(100分)

  • 主题发起人 主题发起人 pengshu
  • 开始时间 开始时间
P

pengshu

Unregistered / Unconfirmed
GUEST, unregistred user!
在(SQL SERVER 7)下+D5
有两个表值如下:
table1
f1 char(4) ,
total decimal(10,2)
f1 total
-------------
X 100
X 50
Z01 200
Z02 50
.....

table2
f1 char(4)与表TABLE1的F1相同
f1_name char(20)
f1 f1_name
-----------------
X 北京
Z01 天津
Z02 广州

现在想得到如下结果
table3
f1 f1_name total
-------------------------
X 北京 150
Z01 天津 200
Z02 广州 50
请问SQL语句怎么写?
 
select table1.f1,f1_name,sum(total) from table1,table2 where table1.f1=table2.f1 group by table1.f1
 
select table1.f1, table2.f1_name ,sum(table1.total) as sum1 from table1
join table2 on (table2.f1 = table1.f1) group by table1.f1,table2.f1_name
 
select b.f1,b.f1_name,sum(total) as total from table1 as a,table2 as b
where a.f1=b.f1 group by b.f1,b.f1_name order by b.f1
也可用INNOR JOIN 。。ON 如果你会的话。
 
多人接受答案了。
 
select
table1.f1,
table1.f1_name,
sum(table2.total)
from
table1,
table2
where
table2.f1 *=table1.f1
group by
table1.f1,
table1.f1_name

否则显示不出档案中有而数据中没有的合计记录
 
后退
顶部