‘壹’ sql查询语句,同一个条件,返回多个结果
如果是Oracle的话,用Decode函数比较简洁
--type作为查询条件进行查询
selectsum(decode(type,'project',money,'nonproject',money+tax))
fromcontract
wheretype='type值';
--不传值,直接汇总
selectsum(decode(type,'project',money,0))asproject_sum,
sum(decode(type,'nonproject',money+tax,0))asnonproject_sum
fromcontract
‘贰’ 如何将多个SQL查询统计结果一次显示出来
可以通过count函数来实现。
sqlOne:select * from tablename1 where id>5;此语句查询出来多条记录,之后看做一个新的表。
sqlTwo:select conut(*) from (select * from tablename1 where id>5) as tablename2;此语句即可查询出来统计的记录条数。
备注:以上方法通用于所有的数据统计,如果是单表查询,可以直接通过:“select count( *) from tablename1 where id>5"的形式查询出结果。
‘叁’ sql如何根据一个字段的多个值查询
具体方法如下:
假定表名test,列id是数值类型。
用同一个字段的多个值作为条件来查询可以使用in或者or。
具体语句如下:
1、select * from test where id in (1,2,3)
2、select * from test where id = 1 or id =2 or id = 3
显然第一种方法更简便。
PS: 如果如你消息所说,有一个选课表test,学生号id,所选课程名name,那么,检索同时选择了美术、体育、音乐三门课程的学生id的语法如下:
select a.id from test a,test b,test c
where a.id = b.id and b.i
d = c.id and a.name = '美术' and b.name = '体育' and c.name = '音乐';
问题的关键,在于test表通过别名做三次关联查询。
‘肆’ SQL如何合并多个查询结果
合并结果一般用union或者union all,具体用什么取决于需求。
如数据如下:
A表:
id name
1 张三
2 李四
3 王五
B表:
id name
1 张三
2 赵六
3 孙七
如果
selectid,namefromA
unionall
selectid,namefromB;
结果:
id name
1 张三
2 李四
3 王五
1 张三
2 赵六
3 孙七
如果:
selectid,namefromA
union
selectid,namefromB;
结果:
id name
1 张三
2 李四
3 王五
2 赵六
3 孙七
也就是说union all在执行后,不会把相同的结果合并,而union会把相同的结果只显示成一行。
‘伍’ sql多个结果集 什么意思
一个数据集就相当于一个表格,一个RS对象在一个时期只能保存一个数据集,在你用完这个数据集的时侯,可以通过
rs.close 进行关闭
然后你执行另一个SQL语句,又可以把值放到这个RS里,所以一个页面,原则上来说,只要一个RS对象
‘陆’ php怎么把多个sql查询结果集合并每个结果集的结构不同
最简单的方法,把结果弄成一致,例如使用下面的SQL查询语句:
select time,type,property1,property2,property3,price from xxxxxx……
union all
select time,type,property4,price,0,0 from xxxxxx……
union all
select time,type,property5,property6,0,0 from xxxxxx……
方法是使用UNION ALL合并查询结果,对于查询字段少的语句增加0或者空白、null等常量,使得查询结果的字段数要相同。
为了得到特殊的排序,可以把上面的查询结果插入临时表,再从临时表中查询结果。
‘柒’ sqlite fts table中,如何使用SQL语句来查询包括多个相同单词的结果
用如下语句:
1createtable新表名asselect*from旧表名;如数据库test表中有如下数据:
‘捌’ SQL server 怎样将循环查询的多个结果集进行左连接
用游标:
declare @变量1 varchar(50),@变量2 varchar(50)
-----创建游标
declare mycurs cursor for select 字段A,字段B from table1
open mycurs-----打开游标
fetch next from mycurs into @变量1,变量2
while @@fetch_Status=0--循环游标
begin
---循环处理
fetch next from mycurs into @变量1,变量2
end
close mycurs
Deallocate mycurs
我说的可能不好,你自己去可以看看游标的相关资料。
‘玖’ sql 将多个查询结果一起输出
把查询结果当成表
select
a.counts,b.counts,c.counts,a.counts+b.counts+c.counts
from
(select
count(*)
as
counts
from
table.a
inner
join
table.y
on
table.a.aid
=
table.y.yid)
a,
(select
count(*)
as
counts
from
table.b
inner
join
table.y
on
table.a.bid
=
table.y.yid)
b,
(select
count(*)
as
counts
from
table.c
inner
join
table.y
on
table.a.cid
=
table.y.yid)
c