asp 问题~~~

来源:百度知道 编辑:UC知道 时间:2024/06/30 11:10:03
我想让两个表里面的两个数字类型的字段相加然后按大小排列出来~~想了半天没思路~~~哪位大虾帮下小弟~~头疼死了
sql_bm="select id,GroupName,(select count(*) from KS_Article where UserGroupid=KS_UserGroup.id) as countnums1 from KS_UserGroup where id<>4 order by countnums1 desc,ID desc"
就是把上面 countnums1 与新表里的 num相加

其实很简单,让其个表自然边接后对其相关的两个域进行相加而形成一个新域,按新域进行排序就可以了!

当然,你的两个表名分别是"a"和"b",两个相关的字段是"字段1"和"字段2",两表的连接字段是"ID",也就是说,两个表中都有ID,且ID是不能重复的,a.ID表示a表中的字段,b.ID表示表b中的字段,两都之间是用这个字段相连接的,当然,如果两个表中的关键字段不重复,则没有必有加表名引导,所以最终的结果是:
select (字段1+字段2) as 字段3 from a,b where a.ID=b.ID order by 字段3 DESC
这是一种两表有相关连接的方法.但这是一种自然连接,同时可以参考虑全连接等内容.

如果两表中生成的东西是没有相关连接,那么你说的意思就是两表的广义笛卡尔连接.此时可以不用连接全件就行了!也就是where a.ID=B.ID的情况!

如果你真的太不了解数据库,可以将你的数据结果发出来,大家写一句能直接让你用的!

select (字段1+字段2) as s from 表 order by s desc
select (a.字段1+b.字段2) as s from 表1 a,表2 b where a.id=b.id order by s desc

select (字段A+字段B) as aaa from 表 order by aaa desc

select (a.字段1 + b.字段1) as s2 from 表1 a,表2 b order by s2 desc