我有三个表,一个表为基本表,一个是代码表,一个是出差表
表一 编号,姓名 ,职别
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