使用TQuery怎么做嵌套查询阿?

Kevin___2008 2007-05-30 03:07:40
我现在想完成一个简单的查询,目的是从员工的考勤记录中统计某天的出勤人数,但是考勤记录中有的人要刷卡两次,所以想了半天用了嵌套查询。在查询过程中需要两个表,一个是人员基本信息表,另一个是考勤表。
我做了这个查询(假设人员没有重名):

select 班组,工种,姓名,count(班组+工种+姓名)
from
(Select DISTINCT T1.班组,T1.工种,T1.姓名,T2.考勤日期
from 人员信息 as T1,考勤信息 as T2
where T1.姓名 = T2.姓名
order by T1.班组,T1.工种,T1.姓名,T2.考勤日期)
group by 班组,工种,姓名


我用TQuery查询,数据库是Paradox,我这个嵌套查询不知道写的对不对,反正是没通过。我的问题是如果想得到我预期的查询,用Tquery如何实现?
...全文
277 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kevin___2008 2007-06-06
  • 打赏
  • 举报
回复
我其实就是希望做一个查询能够统计某个人当月的出勤天数,因为一天可能刷多次卡,所以在同一天多次刷的都算是一次。涉及到的表格只有两个,一个是人员基本信息表和考勤记录表,两个表可通过身份证号连接。列出来的效果是

比如6月6日有如下记录:

...

张三 2007-6-6 08:30
张三 2007-6-6 05:30
李四 2007-6-6 08:30
李四 2007-6-6 06:03
...

最后统计出来2007-6-6考勤要这样:


身份证号码 姓名 性别 职务 出勤天数
...
1231081950041834534 张三 女 会计 1
1231081950041734534 李四 男 后勤 1
...

不知我说的是不是清楚?要实现上面的查询,SQL怎么写?
lvjack 2007-06-02
  • 打赏
  • 举报
回复
嵌套查询是否可以使用和数据库有关,和控件无关,所以请从数据库方面测试
___NULL 2007-06-01
  • 打赏
  • 举报
回复
直接用SQL来嵌套,例如
select * tab1 where id = ( select max(id_fly) from fly )
QsLrEn 2007-05-30
  • 打赏
  • 举报
回复
不支持那就写个procedure放在里面就是了
Kevin___2008 2007-05-30
  • 打赏
  • 举报
回复
调不通才要请教各位呢。这个是和TQuery有关系的,因为我参照T-SQL的例子写SQL查询,可是有很多是条不通的,而且一个明显的事实是,TQuery里面的SQL查询是不支持嵌套查询的,你不信就试一试。count(0)都是小问题
windnetcs 2007-05-30
  • 打赏
  • 举报
回复
你这个查询和TQuery没有关系吧,先把查询语句改通过了先吧。count里面用count(0)不就可以了嘛?
Kevin___2008 2007-05-30
  • 打赏
  • 举报
回复
Ring_Pt(已是黄昏独自愁) ,我没有明白你的意思,你是不是也要用Group by和count()来统计呢?如果是,那你的查询语句是怎么写?
Kevin___2008 2007-05-30
  • 打赏
  • 举报
回复
你说的关联是Join吗?还是union?你能不能详细的说一下?
Jim@luckeeinc.com 2007-05-30
  • 打赏
  • 举报
回复
你的考勤表里应该有日期字段的
要查每个人的出勤天数就根据这个人的id或名字 去考勤表里查所有的天数 然后再对日期进行distinct
rogertl 2007-05-30
  • 打赏
  • 举报
回复
你是不是应该用关联表来作。。。我觉得要容易点啊。。
Kevin___2008 2007-05-30
  • 打赏
  • 举报
回复
更正一下,我是查每个员工的出勤天数

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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