asp网站多表条件查询
有6个结构完全相同的表:b1,b2,b3,b4,b5,b6在每个表中查询字段enble=1,点击量(字段countclick)最多的前10个放在首页相应的栏目中。用一个查...
有6个结构完全相同的表:b1,b2,b3,b4,b5,b6在每个表中查询字段enble=1,点击量(字段countclick)最多的前10个放在首页相应的栏目中。用一个查询语句查询,这个查询语句怎么写?同时6个循环语句又该怎么写?
展开
2018-07-30 · 知道合伙人软件行家
关注
展开全部
你要看你用的什么数据库,不同数据库有时有点差异
基本用法
like 的通配符有两种
%(百分号):代表零个、一个或者多个字符。
_(下划线):代表一个数字或者字符。
1. name以"李"开头
where name like '李%'
2. name中包含"云",“云”可以在任何位置
where name like '%云%'
3. 第二个和第三个字符是0的值
where salary like '_00%'
4. 条件匹配以2开头,而且长度至少为3的值:
where salary like '2_%_%'
5. 以2结尾
where salary like '%2'
6. 第2个位置是2,以3结尾
where salary like '_2%3'
基本用法
like 的通配符有两种
%(百分号):代表零个、一个或者多个字符。
_(下划线):代表一个数字或者字符。
1. name以"李"开头
where name like '李%'
2. name中包含"云",“云”可以在任何位置
where name like '%云%'
3. 第二个和第三个字符是0的值
where salary like '_00%'
4. 条件匹配以2开头,而且长度至少为3的值:
where salary like '2_%_%'
5. 以2结尾
where salary like '%2'
6. 第2个位置是2,以3结尾
where salary like '_2%3'
展开全部
最直观的办法, 以oracle 为例:
select * from b1 where enble=1 and rownum<=10 order by countclick asc
union
select * from b2 where enble=1 and rownum<=10 order by countclick asc
union
......
然后循环结果集就是.不用6个.一个就行.union 的作用就是合并相同结果集
select * from b1 where enble=1 and rownum<=10 order by countclick asc
union
select * from b2 where enble=1 and rownum<=10 order by countclick asc
union
......
然后循环结果集就是.不用6个.一个就行.union 的作用就是合并相同结果集
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不建议你这样做,速度很慢的,数据大的时候能感觉出来影响很严重
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select top 10 * from (
select * from b1
union
select * from b2
union
select * from b3
union
select * from b4
union
select * from b5
union
select * from b6
) tmp where enble = 1 order by countclick desc
select * from b1
union
select * from b2
union
select * from b3
union
select * from b4
union
select * from b5
union
select * from b6
) tmp where enble = 1 order by countclick desc
更多追问追答
追问
每个表里都选前10个记录共60个记录
追答
select top 10 *, 'b1' as table from b1 where enble = 1 order by countclick desc
union
select top 10 *, 'b2' as table from b2 where enble = 1 order by countclick desc
union
select top 10 *, 'b3' as table from b3 where enble = 1 order by countclick desc
union
select top 10 *, 'b4' as table from b4 where enble = 1 order by countclick desc
union
select top 10 *, 'b5' as table from b5 where enble = 1 order by countclick desc
union
select top 10 *, 'b6' as table from b6 where enble = 1 order by countclick desc
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询