多表查询有关问题

   阅读
多表查询问题
我有三个表,一个表为基本表,一个是代码表,一个是出差表
表一 编号,姓名 ,职别
  001 李三 101
  002 张四 105

表二 职别代码 职别名称
  101 经理
  105 副经理

表三 编号 出差日期
  001 20110101
  001 20111201
  002 20110105
  002 20111201
请如何将查询的结果形成如下表格
  编号 姓名 职别名称 出差次数
  001 李三 经理 2
  002 张四 副经理 1
利用VB。NET

------解决方案--------------------
这个应该去MS SQL Server版区问

SQL code
use test
go
------->>>By 苦苦的潜行者
if object_id('t1') is not null and object_id('t2') is not null and object_id('t3') is not null
drop table t1,t2,t3
go
create table t1([编号] varchar(10),[姓名] varchar(10),[职别] varchar(10))
insert t1
select '001','李三','101' union all
select '002','张四','105'
go
create table t2([职别代码] varchar(10),[职别名称] varchar(10))
insert t2
select '101','经理' union all
select '105','副经理'
go
create table t3([编号] varchar(10),[出差日期] datetime)
insert t3
select '001','20110101' union all
select '001','20111201' union all
select '002','20110105' union all
select '002','20111201'
go
select a.[编号],b.[姓名],c.[职别名称],count(a.[编号]) as [出差次数] 
from t3 as a
join t1 as b on a.[编号]=b.[编号]
join t2 as c on b.[职别]=c.[职别代码]
group by a.[编号],b.[姓名],c.[职别名称]
/*
(所影响的行数为 2 行)
编号    姓名   职别名称  出差次数
---     ---    ------  -----
001    李三    经理    2
002    张四    副经理    2

*/
go
drop table t1,t2,t3
阅读