求助查询SQL语句

china_hefei 2015-11-26 10:14:33
select * from ziliao --用户资料表,id雇员自动编号,kid雇员编号
select * from k_data where id=48 --k_data表为上下班日志表,id自动编号,DATA为上一工作日日期,DATA1为当日工作日期
select * from k_data1 where tid=48 --K_DATA1表为下班时间表,id自动编号,KID为雇员的编号,DATA为上一工作日日期,DATA1为当日工作日期,TID为上下班日志表的ID
select * from k_data2 where tid=48 --k_data2表为上班时间表,id自动编号,KID为雇员的编号,DATA、DATA1为当日工作日期,TID为上下班日志表的ID
select * from jiaqi --JIAQI为请假表,,UID为雇员的ID,startdata为请假开始日期,enddata为结束日期,
--我想查出张三丰该用户在2013-11-26号上班时间表,需要显示内容为
--select [ziliao].[s_name],[k_data1].[d_work1],[k_data2].[work2],[jiaqi].[tianshu] 显示雇员姓名,下班时间,上班时间,请假天数

PS:因为表里面需要存多个内容,所以表必须要分开建,谢谢大家!

下图中是我通过查询分析器查出来的结果及数据库结构!谢谢大家
...全文
52 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Tiger_Zhao 2015-11-27
-- 参数
DECLARE @s_name nvarchar(10)
DECLARE @dt datetime
SET @s_name = N'张三丰'
SET @dt = '2013-11-26'
-- 查询
SELECT [ziliao].[s_name] 雇员姓名,
[k_data1].[d_work1] 下班时间,
[k_data2].[work2] 上班时间,
[jiaqi].[tianshu] 请假天数
FROM ziliao
LEFT JOIN k_data1
ON k_data1.KID = ziliao.KID
AND k_data1.DATA1 = @dt
LEFT JOIN k_data2
ON k_data2.KID = ziliao.KID
AND k_data2.DATA1 = @dt
LEFT JOIN jiaqi
ON jiaqi.UID = ziliao.KID
AND jiaqi.startdata <= @dt
AND jiaqi.enddata >= @dt
WHERE ziliao.s_name = @s_name
回复
Yole 2015-11-27
能否给些测试数据,ps.最好是用语句给出;实在不行就直接贴文字格式的数据。
回复
wzszy 2015-11-27
问题来了,楼主你想问什么呢??
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2015-11-26 10:14
社区公告
暂无公告