首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 数据库字段和怎么算的结果不对啊 奇怪了 [已结贴,结贴人:justintian]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 16:57:36 楼主
    select  CONVERT(varchar(30),dtime, 23) as dtime,positions.RID, [flightnumber], [airline], [departureairport], [arrivedairport], [departuretime], [arrivaltime],CONVERT(varchar(30),endle, 23) as endle, [weekly], routes.manag,routes.updatetime,[M_Taxes],routes.positions ,sum(Surplus) as surplus,sum(sold)/sum(amount) as mzl from positions,Routes where positions.RID in (SELECT Routes.RID FROM [Routes] WHERE ([flightnumber] = 'a123')) and flightnumber='a123' GROUP BY dtime,positions.RID, [flightnumber], [airline], [departureairport], [arrivedairport], [departuretime], [arrivaltime],endle, [weekly], routes.manag,routes.updatetime,[M_Taxes],routes.positions,surplus


    这是一条数据库查询语句  这个看这复杂 其实也就是查询两张表  一张表比如是放着学生姓名班级什么的,第二张表放着各科的成绩等  比如相关联的是学生的姓名(假如是主键)  怎么写一条语句查询出 某个班的学生的成绩?


    查询结果是这样格式的
    1班  张三  300分
    1班  李四  299分
    1班  王五  301分


    表1
    张三  1班
    李四  1班
    马六  2班
    。。。

    表2
    张三  语文 70
    张三  数学 80
    李四  语文 90
    。。。。。
    80  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 17:00:051楼 得分:0
    select t1.*,sum(t2.cj) as s_cj
    from table1 t1 ,table2 t2
    where t1.id = t2.id
    group by ....
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 17:00:152楼 得分:80
    哎。。。你加我吧。。。。。。。。。。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-16 17:01:093楼 得分:0
    SQL code
    select 班级,A.姓名,总分=sum(分数) from 表1 A join 表2 B on A.姓名=B.姓名 group by 班级,A.姓名
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-17 01:35:464楼 得分:0
    SQL code
    sum结果当然不对。 你的语句期望对positions,Routes执行inner join联接,实际缺少联接条件,变成交叉联接。 where positions.RID in (SELECT Routes.RID FROM [Routes] WHERE ([flightnumber] = 'a123')) and flightnumber='a123' 应该写成: where positions.RID=Routes.RID and Routes.flightnumber='a123'
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved