sql 查询结果合并
举个例子说吧首先我查询出了学生ID姓名查询结果像这样学生ID姓名1A2B然后我又通过别的语句查出其他信息专业成绩A的专业A的成绩B的专业B的成绩我现在想将两个结果合并成一...
举个例子说吧 首先 我查询出了学生ID 姓名
查询结果像这样
学生ID 姓名
1 A
2 B
然后我又通过别的语句查出其他信息
专业 成绩
A的专业 A的成绩
B的专业 B的成绩
我现在想将两个结果合并成一个输出
学生ID 学生姓名 专业 成绩
1 A A的专业 A的成绩
2 B B的专业 B的成绩
用什么方法可以实现呢?
一楼说的那种方法是可以解决问题 实际问题是我需要从多张表查询出不同的信息 但他们都不相同 但是有关联 我想把有关联的信息全部在一行显示出来 怎么合并结果 展开
查询结果像这样
学生ID 姓名
1 A
2 B
然后我又通过别的语句查出其他信息
专业 成绩
A的专业 A的成绩
B的专业 B的成绩
我现在想将两个结果合并成一个输出
学生ID 学生姓名 专业 成绩
1 A A的专业 A的成绩
2 B B的专业 B的成绩
用什么方法可以实现呢?
一楼说的那种方法是可以解决问题 实际问题是我需要从多张表查询出不同的信息 但他们都不相同 但是有关联 我想把有关联的信息全部在一行显示出来 怎么合并结果 展开
展开全部
这不是查询合并,一般说来我们所说的查询合并实际就是对同结构的结果集进行数据上的合并,站立的角度就是元组的合并。而列的“合并”这数据库的专业术语中叫查询连接。比如两表的链接等。
select * from A join B on A.primarykey = B.primarykey
这就是Trans-SQL语句进行的连接,也就是你所谓的列合并。
当然这种合并的基础是表,也就是可以合并表,视图与结果集(SQL语句)任何进行链接的。而你给出的第二个结果实际是错误的,从结果集中可以看是他不可能是一个合乎要求的东西的,因为域只表示数据,而不可以在域中说明其意思的,也就是说不能从一个域中就知道它是A的成绩还是B的成绩的。要想合乎要求,那么前边一定还有primarykey的,否则一个元组(也就是表中的一条记录)可能与另一条重复,也就是说一个元组不能标识一个实体,那么表就是无意义的。
SQL语句设计的原则就是以最少的运算实现想要的结果,也就是说SQL语句优化的宗旨就是最好少用一些无所谓的临时表,谓词,统计函数,游标等技术,除非是不得已,否则用这些技术并不能说明SQL技术有多好,只会增加SQL server的负担,对于多请求是浪费服务器资源。所以不要从不存在的两个中间结果进行所谓的合并,除非是视图,SQL server对视图有优化,可以作表用。而是直接考虑如何最快让服务器取出自己想要的结果,还要考虑服务器执行自己SQL语句的过程,以达到最快的速度。
select * from A join B on A.primarykey = B.primarykey
这就是Trans-SQL语句进行的连接,也就是你所谓的列合并。
当然这种合并的基础是表,也就是可以合并表,视图与结果集(SQL语句)任何进行链接的。而你给出的第二个结果实际是错误的,从结果集中可以看是他不可能是一个合乎要求的东西的,因为域只表示数据,而不可以在域中说明其意思的,也就是说不能从一个域中就知道它是A的成绩还是B的成绩的。要想合乎要求,那么前边一定还有primarykey的,否则一个元组(也就是表中的一条记录)可能与另一条重复,也就是说一个元组不能标识一个实体,那么表就是无意义的。
SQL语句设计的原则就是以最少的运算实现想要的结果,也就是说SQL语句优化的宗旨就是最好少用一些无所谓的临时表,谓词,统计函数,游标等技术,除非是不得已,否则用这些技术并不能说明SQL技术有多好,只会增加SQL server的负担,对于多请求是浪费服务器资源。所以不要从不存在的两个中间结果进行所谓的合并,除非是视图,SQL server对视图有优化,可以作表用。而是直接考虑如何最快让服务器取出自己想要的结果,还要考虑服务器执行自己SQL语句的过程,以达到最快的速度。
展开全部
你查出的两个表单看根本就一点关系就没有,如果你第二个表里是确切的数据的话,你能知道那是A所在的专业吗,最好用原表来做,只要各表有主外键关系,用连接不久可以了吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
专业 成绩
A的专业 A的成绩
B的专业 B的成绩
这个表中必然有一列区分学生的ID
select a.学生ID ,a.姓名,b.专业,b.成绩 from a ,b
where a.学生ID=b.学生ID
A的专业 A的成绩
B的专业 B的成绩
这个表中必然有一列区分学生的ID
select a.学生ID ,a.姓名,b.专业,b.成绩 from a ,b
where a.学生ID=b.学生ID
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询