在握设计的一个人事管理的软件中有个问题,其中有项是关于合同的管理,合同中有个合同的结束日期,但合同的结束日期很可能不会只有一个,签了几次合同就会有几次合同的终止日期,所以就有合同终止日期1, 合同终止日期2, 合同终止日期3, 合同终止日期4,但是这些合同终止日期并非每个都有的,我们检测的是最后的合同到期日期,那这个终止日期就可能是1,2,3,4中一个,我开始是设置了一个calcfield来显示最后一次合同终止日期,他在dbgrid中是可以显示出来的,但是我想在sql语句中用的时候是提示的字段不存在
解决方案 »
- 提问````DELPHI新手问题!帮帮我```
- ListView问题请教
- 哪里有显示各种效果的源代码,例如浮雕,波浪
- delphi窗体最大化后出现的问题?
- 在线等您的回复.
- 关于代理AGENT编程问题,高手进,分数给。
- [罚]我错了,我在非技术区发广告
- 把图像保存到流以后要进行压缩,采用什么比较好???(200分求解)
- 总是sql语句的问题!!?? >_< 请您帮忙??
- 新年献礼,发分了:CSDN博客备份博客下载神器、cnblogs博客备份博客下载神器
- 请教大虾:后台数据库MS SQL ,有个DECIMAL字段,为2位小数,为什么在我DELPHI的敏感控件里面,无法输入小数呢?
- 菜鸟求助,急!!!
你可以每次合同可以录入一条记录,四次终止日期录入四次,查看的时候可以用SQL语句查出显示在DBGRID中不就可以了
合同终止日期1, 合同终止日期2, 合同终止日期3, 合同终止日期4
张三
李四
王五
这个了解了,我现在就是想看看能否把它向
合同终止日期1, 合同终止日期2, 合同终止日期3, 合同终止日期4
张三 2005-1-1 2006-1-1 2006-7-1 2006-12-1
李四 2005-1-1 2006-1-1
王五 2005-1-1 2006-1-1 2006-12-1
从从表中以LEFT JOIN 模式将横表转换成综表不就完了,当然要简单的话就给所有的人的每次合同加一个ID号控制是第几次签合同,剩下的就很简单了SELECT 员工编号,员工姓名,合同一,合同二,合同三 FROM 员工表
LEFT JOIN (SELECT 员工编号,合同日期 AS 合同一 FROM 合同表 WHERE 合同ID=1) 合同一 ON 员工表.员工编号=合同一.合同编号
LEFT JOIN (SELECT 员工编号,合同日期 AS 合同二 FROM 合同表 WHERE 合同ID=2) 合同二 ON 员工表.员工编号=合同二.合同编号
LEFT JOIN (SELECT 员工编号,合同日期 AS 合同三 FROM 合同表 WHERE 合同ID=3) 合同三 ON 员工表.员工编号=合同三.合同编号等等等等,如果更NB,可以做到列动态变化,也无所谓啊
因为张三的合同一可能是2005-1-1,李四的可能是1995-1-1,王五可能要合同9
你的这个sql太高级啊,看不太懂啊,编译说是操作符丢失.