| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2044 人关注过本帖
标题:请各位大神帮助编SQL语句。
只看楼主 加入收藏
ruizhaoz
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2015-4-8
收藏
 问题点数:0 回复次数:5 
请各位大神帮助编SQL语句。
数据库中有A. B两张表
A表
姓名   科目   分数
张三   语文    98
张三   数学    99
李四   语文    95
李四   数学    94
王五   语文    97
王五   数学    100
 
B表
姓名   科目   分数
张三   语文   92
张三   数学    100
王五   语文    93
王五   数学    96
刘六   语文    99
刘六   数学    92
 
如要生成一个新表C
姓名       语文                                  数学
张三    A表语文分-B表语文分 A表数学分-B表数学分
王五    A表语文分-B表语文分 A表数学分-B表数学分
 
也就是将两个表中姓名相同的记录提出来,科目进行行列转换(人员及有多少科目不确定,有多少就要转多少),再将两表相同科目对应的分数相减作为分值(同一人同一科目出现两个以上记录时要先汇总后再相减),而且相减分值超过10时返回10,分值小于零时返回0
 
请问以上问题有没有办法用SQL语句实现?烦指点。谢谢!
搜索更多相关主题的帖子: 数据库 数学 姓名 语文 
2015-04-08 20:51
ruizhaoz
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2015-4-8
收藏
得分:0 
没人懂吗?
2015-04-12 09:52
ruizhaoz
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2015-4-8
收藏
得分:0 
换为个问题:1、如何统计科目个数(去掉重复记录)并賦值给一个数组;2、如何用数组自动执行多个子查询。
2015-04-12 10:00
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
create table 表A(
姓名 char(20),
科目 char(20),
分数 int)
create table 表B(
姓名 char(20),
科目 char(20),
分数 int)
create table 表C(
姓名 char(20),
语文 char(20),
数学 char(20))
insert into 表A values('张三','语文',98)
insert into 表A values('张三','数学',99)
insert into 表A values('李四','语文',95)
insert into 表A values('李四','数学',94)
insert into 表A values('王五','语文',97)
insert into 表A values('王五','数学',100)
insert into 表B values('张三','语文',92)
insert into 表B values('张三','数学',100)
insert into 表B values('王五','语文',93)
insert into 表B values('王五','数学',96)
insert into 表B values('刘六','语文',99)
insert into 表B values('刘六','数学',92)
 


insert into 表C

select   表A.姓名,'语文'='A表'+Ltrim(RTRIM(str(表A.分数)))+'-'+'B表'+Ltrim(str(表B.分数)) ,
'数学'='A表'+Ltrim(RTRIM(str(表A.分数)))+'-'+'B表'+Ltrim(str(表B.分数))
from 表A,表B where 表A.姓名=表B.姓名 and 表A.科目=表B.科目
group by 表A.姓名,表A.分数,表B.分数 order by 表A.姓名 desc

[ 本帖最后由 林月儿 于 2015-4-12 14:10 编辑 ]

剑栈风樯各苦辛,别时冰雪到时春
2015-04-12 14:07
ruizhaoz
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2015-4-8
收藏
得分:0 
谢谢!关键问题是科目数与人员不是固定的(随时会发生变化),还有就是当表A科目名与表B科目名不一致时会漏掉记录。还是要多谢您的热心帮助,谢谢!!
2015-04-14 20:14
快速回复:请各位大神帮助编SQL语句。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036097 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved