use 你这个数据库的名称
创新互联服务项目包括江海网站建设、江海网站制作、江海网页制作以及江海网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,江海网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到江海省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
go
select count(变量名)10
where 人员表。编号=订单表。编号
and 订单表。编号=物品表。编号
and 人名='张%'
go
我不知道你的变量名,这些你要自己改改
怎么看数据都有点问题,不过仔细看一下似乎发现一些逻辑
建议还需要增加一个表
我发现逻辑如下表:
比如建立一个部门表,名字叫department,
(如果有就不建立了,你自己看着办)
对应数据如下:
id deptname
B1 业务一部
B2 业务二部
C1 人事部
C2 财务部
C3 总务部
D0 市场营销部
D1 市场营销部(有两个)
语句就这样写吧
SELECT * FROM 员工表 LEFT JOIN 部门表 ON 员工表.departmentid=部门表.id LEFT JOIN departent ON left(部门表.department,2)=departent.id
这个非常简单
首先你是要查询各个不同的,就需要用到group by .
然后是取最后的记录时间点,你就需要用到 max()函数
select userid as 卡号,holeid as 记录点,max(recodetime) as 记录时间 from kaoqin
group by userid,holeid
就这样就行了,其实SQL把需求分开来看很好写的。望楼主采纳!
sqlserver能按部门排序列出,但无法按此格式列出。总体上说,你这属于界面表达这一层次的问题,应编写界面程序实现。数据库的任务一般还是纯粹的数据存取这个层次,所以这个概念要清晰,即不同任务分别适合放在哪个层次是很重要的。
用分析函数row_number() over (partition by ... order by ...)给记录进行分组编号,按人员id和考勤日期进行分组(如果考勤日期带时分秒,需先截断到日),按时间升序排序;这样,就得到人员ID在同一考勤日期下的编号值(编号值是从1开始的),然后,只取编号值为1的记录。
SQL类似:
select s.id, s.name, s.date, s.card_time
from (
select d.id, d.name, d.date, d.card_time,
row_number() over (partition by d.id, d.date order by d.card_time) as row_idx
from data_table d
) s
where s.row_idx = 1
直接表关联不就可以了?
select *
from 小组表 t1 left join 人员表 t2 on t1.小组编号=t2.小组编号
这样不就可以了,,,
有问题请继续追问,没问题,请采纳,谢谢