当前位置: 代码迷 >> Java Web开发 >> web程序的数据库操作语句有关问题
  详细解决方案

web程序的数据库操作语句有关问题

热度:966   发布时间:2013-02-25 21:14:37.0
web程序的数据库操作语句问题。
select HrEmployee.workId,HrEmployee.emplname,AtdRecord.recdate,AtdRecord.rectime,AtdRecord.equno,EquFinger.pws,rtrim(HrEmployee.workid)+','+AtdRecord.rectime as keyid from HrEmployee inner join AtdRecord on( HrEmployee.cardid=atdrecord.cardno)inner join EquFinger on(atdrecord.cardno=EquFinger.cardno) where rtrim(HrEmployee.workid)+','+AtdRecord.rectime not in(select keyid from DCjilu)


这是,sql语句,作用是在3个表中查数据,有查两个字段的有查一个字段的会得到一个结果,然后将其中两个字段组合成一个新的字段,命名为keyid,然后以这个keyid作为主键和另外一个名字叫做DCjilu的表进行比较,如果前面的结果里面有后面这个表中没有的数据,就显示出来。

我想问的有两点,
1.这个sql语句是不是太长了,这样用在数据库测试没有问题。是不是在程序中用,就没有问题。
2.如果理论上没有问题以后,那么,效率如何了,求高手指导,谢谢

------解决方案--------------------------------------------------------
这懒的。。。好歹排个版啊。。。
SQL code
select HrEmployee.workId, HrEmployee.emplname,        AtdRecord.recdate, AtdRecord.rectime, AtdRecord.equno,        EquFinger.pws,        rtrim(HrEmployee.workid)+','+AtdRecord.rectime as keyid from HrEmployee inner join AtdRecord on (HrEmployee.cardid=atdrecord.cardno)     inner join EquFinger on (atdrecord.cardno=EquFinger.cardno) where rtrim(HrEmployee.workid)+','+AtdRecord.rectime not in (select keyid from DCjilu)
  相关解决方案