您的位置:程序门 -> web 开发 -> asp



这样的数据统计,怎样用两表关联来解决,sql应该怎么写???


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


这样的数据统计,怎样用两表关联来解决,sql应该怎么写???
发表于:2007-01-15 11:59:43 楼主
怎么分别统计出bu代码3106、3107、3108、3109的出库总金额呢?

表1:(名称:bjck)具体如下:
id       编号       所属产品       出库金额
1         001         6011               10
2         001         6011               10
3         002         6012               20
4         002         6012               20
5         003         6013               30
6         003         6013               30
7         004         6014               40
8         004         6014               40


表2:(名称:cptable)具体如下:
id         所属产品       bu代码
1           6011               3106
2           6012               3107
3           6013               3108
4           6014               3109

结果:
bu代码         出库金额
3106             20
3107             40
3108             60
3109             80


应该怎么写呢?小菜求助!!!help,谢谢!!

发表于:2007-01-15 15:43:331楼 得分:0
自己upup
发表于:2007-01-15 15:55:512楼 得分:0
sql   =   "select   a.*   from   cptable   as   a   inner   join   bjck   as   b   on   a.所属产品=b.所属产品 "
发表于:2007-01-15 16:19:313楼 得分:0
我输出测试一下不行哦,
db= "database\bjgldata.mdb "             '数据库文件的位置
set   conn   =   server.createobject( "adodb.connection ")
connstr= "provider=microsoft.jet.oledb.4.0;data   source= "   &   server.mappath(db)
conn.open   connstr

sql   =   "select   a.*   from   cptable   as   a   inner   join   bjck   as   b   on   a.所属产品=b.所属产品 "

set   rs=server.createobject( "adodb.recordset ")
rs.open   sql,conn,0,1

do   while   not   rs.eof
response.write   rs(0)   & " <br> "&   rs(1)& " <br> "
rs.movenext
loop

出现错误:
error   type:
microsoft   jet   database   engine   (0x80040e10)
no   value   given   for   one   or   more   required   parameters.
/sheary/070111/sparemis/copy   of   a.asp,   line   15
发表于:2007-01-15 16:22:174楼 得分:0
select   sum(bjck.出库金额)   as   expr1,   bjck.编号,   bjck.所属产品
from   bjckinner   join
            cptable   on   bjck.所属产品   =   cptable.所属产品
group   by   bjck.编号,   bjck.所属产品
发表于:2007-01-15 16:24:185楼 得分:0
select   sum(bjck.出库金额)   as   expr1,   bjck.bu代码
from   bjck   inner   join
            cptable   on   bjck.所属产品   =   cptable.所属产品
group   by   bjck.编号,   cptable.bu代码

修改一下。sorry!
发表于:2007-01-15 16:28:386楼 得分:0
select   cptable.bu代码,   sum(bjck.出库金额)   as   出库总额
from   bjck   inner   join
            cptable   on   bjck.所属产品   =   cptable.所属产品
group   by   cptable.bu代码
我试过了,可以的,你试试
发表于:2007-01-15 16:29:077楼 得分:0
出错哦:(同之前错误提示一样哦。)
error   type:
microsoft   jet   database   engine   (0x80040e10)
no   value   given   for   one   or   more   required   parameters.

要输出检查一下对不对,怎样显示哦?
发表于:2007-01-15 16:32:438楼 得分:0
你的15行是什么?
我写的sql语句我测过了,肯定行的
发表于:2007-01-15 16:34:409楼 得分:0
不会吧   我试过的,可以的啊

select   sum(bjck.出库金额)   as   出库总额,   bjck.bu代码
from   bjck   inner   join
            cptable   on   bjck.所属产品   =   cptable.所属产品
group   by   cptable.bu代码

看一下你的数据库字段类型
发表于:2007-01-15 16:35:3910楼 得分:0
15行?是空白行呀?我的全部代码如下:

<%
dim   conn,connstr
dim   db
dim   sql,rs
dim   total,i

db= "database\bjgldata.mdb "             '数据库文件的位置
set   conn   =   server.createobject( "adodb.connection ")
connstr= "provider=microsoft.jet.oledb.4.0;data   source= "   &   server.mappath(db)
conn.open   connstr

sql= "select   cptable.bu代码,   sum(bjck.出库金额)   as   出库总额   from   bjck   inner   join   cptable   on   bjck.所属产品   =   cptable.所属产品   group   by   cptable.bu代码 "

set   rs=server.createobject( "adodb.recordset ")
rs.open   sql,conn,0,1

do   while   not   rs.eof
response.write   rs(0)   & " <br> "&   rs(1)& " <br> "

rs.movenext
loop

rs.close
set   rs=nothing
conn.close  
set   conn=nothing

%>
发表于:2007-01-15 16:46:3911楼 得分:0
我把你的代码原样不动的贴过来,执行成功
结果如下:
3106  
20
3107  
40
3108  
60
3109  
80
发表于:2007-01-15 16:49:0212楼 得分:0
你的出库金额字段是数字吧?
发表于:2007-01-15 17:11:3713楼 得分:0
对哦!!
发表于:2007-01-15 17:14:0414楼 得分:0
我把我的库和文件发给你,你的邮箱是?
发表于:2007-01-15 17:32:2915楼 得分:0
sheary_601_yeah@163.com
发表于:2007-01-16 11:59:5316楼 得分:0
自己upup


快速检索

最新资讯
热门点击