请教 sql语句。。

yang01990 2013-01-24 11:58:37
表1
人员编号 时间
1 2013-01-01
1 2013-01-02
2 2013-01-01
2 2013-01-02
2 2013-01-03
2 2013-01-04
3 2013-01-01
3 2013-01-02
3 2013-01-03
4 2013-01-01
4 2013-01-02


表2
人员编号 人员id 姓名
1 001 y
2 002 n
3 003 b
4 005 v
5 006 c
6 007 x
7 008 z


结果
人员ID 时间 id出现次数
001 2013-01-01 2
001 2013-01-02 2
002 2013-01-01 4
002 2013-01-02 4
002 2013-01-03 4
002 2013-01-04 4
003 2013-01-01 3
003 2013-01-02 3
003 2013-01-03 3
004 2013-01-01 2
004 2013-01-02 2

请教各位前辈 语句怎么写 数据库是access
...全文
135 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
我腫了 2013-01-24
  • 打赏
  • 举报
回复
USE ProductWarehouseSecurity
GO

-->生成表t1

if object_id('t1') is not null 
	drop table t1
Go
Create table t1([人员编号] smallint,[时间] datetime)
Insert into t1
Select 1,'2013-01-01'
Union all Select 1,'2013-01-02'
Union all Select 2,'2013-01-01'
Union all Select 2,'2013-01-02'
Union all Select 2,'2013-01-03'
Union all Select 2,'2013-01-04'
Union all Select 3,'2013-01-01'
Union all Select 3,'2013-01-02'
Union all Select 3,'2013-01-03'
Union all Select 4,'2013-01-01'
Union all Select 4,'2013-01-02'


-->生成表t2

if object_id('t2') is not null 
	drop table t2
Go
Create table t2([人员编号] smallint,[人员id] nvarchar(3),[姓名] nvarchar(1))
Insert into t2
Select 1,N'001',N'y'
Union all Select 2,N'002',N'n'
Union all Select 3,N'003',N'b'
Union all Select 4,N'005',N'v'
Union all Select 5,N'006',N'c'
Union all Select 6,N'007',N'x'
Union all Select 7,N'008',N'z'



SELECT 
		t2.人员id
		,t1.时间
		,(SELECT COUNT(1) FROM t1 AS x WHERE x.人员编号=t1.人员编号) AS  id出现次数 
	from t1,t2
	WHERE t1.人员编号=t2.人员编号
	GROUP BY t2.人员id,t1.时间,t1.人员编号


/*
人员id 时间                  id出现次数
---- ----------------------- -----------
001  2013-01-01 00:00:00.000 2
001  2013-01-02 00:00:00.000 2
002  2013-01-01 00:00:00.000 4
002  2013-01-02 00:00:00.000 4
002  2013-01-03 00:00:00.000 4
002  2013-01-04 00:00:00.000 4
003  2013-01-01 00:00:00.000 3
003  2013-01-02 00:00:00.000 3
003  2013-01-03 00:00:00.000 3
005  2013-01-01 00:00:00.000 2
005  2013-01-02 00:00:00.000 2
*/
-Tracy-McGrady- 2013-01-24
  • 打赏
  • 举报
回复

select b.人员id,a.时间,count(a.人员编号) 
from 表1 a,表2 b 
where a.人员编号=b.人员编号
group by b.人员id,a.时间
GZY1123 2013-01-24
  • 打赏
  • 举报
回复
select b.人员id,a. 时间 ,sum(a.人员编号) from 表1 a, 表2 b where a.人员编号=b.人员编号;

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧