表:test1 班级编号(id) 姓名(name) 类别编号(lbbh) 年龄(age)
如:001 张三 01 30
001 李四 02 20
001 王五 01 10
002 李明 01 30
表:test2 类别编号(lbbh) 类别名称(lbmc)
01 高级
02 中级
现在要得到如下结果:
班级编号 高级 中级
001 40 20
002 30 0
这个SQL应该如何写
如:001 张三 01 30
001 李四 02 20
001 王五 01 10
002 李明 01 30
表:test2 类别编号(lbbh) 类别名称(lbmc)
01 高级
02 中级
现在要得到如下结果:
班级编号 高级 中级
001 40 20
002 30 0
这个SQL应该如何写
解决方案 »
- 在SQL语句中如何查找本日所在的当月和当年的以前的记录
- 用友华表招聘Cell技术支持
- 在线急救!!!ADOTABLE插入数据的问题
- 请高手帮忙,提前者有分,多谢
- 《Delphi5 开发人员指南》这本书我以高出书价的10%收购
- 在Delphi如何将exe文件加入到资源文件中,如何进行调用?
- 还是那个ado问题,大家帮帮忙吧?
- lcase(我是小菜)你在吗?想向您讨教一下安装文件的制作!欢迎用过installshield的同志指教!
- 写了一个程序测试UDP的文件传输,为何?
- 请教 怎么把dbgrideh里查询显示的多条记录修改后,做为新的数据保存到sql2000里
- 关于C/S程序客户端文件更新问题,主程序已经检测到有更新版本,但如何更新自身EXE程序和DLL文件呢?
- 小弟有一问,关于类实例的引用,望大虾指点
001 40 20
002 30 0
考虑重新设计一下表结构
select t1.id as 班级编号,ISNULL(CH,0) as 高级,ISNULL(CC,0) as 中级 from (select id,count(*) as CH from test1 where lbbh='01' group by id) as t1 left outer join (select id,count(*) as CC from test1 where lbbh='02' group by id) as t2 on (t1.id=t2.id)