低温等离子扁桃体:SQL的统计数量问题,请各位高手帮我解决一下!!

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 11:02:01
现在有如下这样一个表:
A表
ID 字段1 字段2
------------------------------
0001 aaa bbb
0002 ccc ddd
0003 eee fff

B表
ID 字段3 字段4
--------------------------------
0001 1 2
0001 2 2
0002 4 4

我现在想统计出如下的表
统计后:
ID 字段1 字段2 数量
-------------------------------------------
0001 aaa bbb 2
0002 ccc ddd 1
0003 eee fff 0

用多表查询,B表用group by id统计出每个id有几条
然后再连接A表

想用一个SQL语句我是没法实现,只有通过ASP+SQL来多次查询实现了.
前面建立conn连接并打开我就不写了.
Set rs1=rs2 = CreateObject("adodb.recordset")
sql1="select ID from B表"
rs1.open sql, conn, 1, 3
do while not rs1.eof
sql2="update A表 set 数量 = 数量+1 where ID= "&rs1("ID")
rs2.open sql2, conn, 3, 3
rs2.close
rs1.MoveNext
Loop
rs2.close
conn.close
set conn=nothing

如果你的ID是字符型,sql2改为:
sql2="update A表 set 数量 = 数量+1 where ID= '"&rs1("ID")&"'"

select a.* ,b.count(id) from a表 a,b表 b where a.id=b.id group by b.id

晕,你直接查询B表中条件=01的,然后统计查询返回的结果,再存储为变量N,并读写A表中条件=01的记录,然后修改数量字段=变量N,最后update就行了!

请问表A中的ID字段有重复吗?是不是标识列