|登录 |注册

查看: 1701|回复: 5
打印 上一主题 下一主题

[SQL]取得最新的薪水资料 ( 紧急 )

[复制链接]
duo8668
2010-8-3 10:19 AM
目前我有个tblSalary 来存放员工的最新薪金。
内有 :  intSal , strEmpUid , dblSalAmt , dtDateAdjust , blnIsDel  
然后出席表 tblAtt 内有 : intAttId , strEmpUid , dtDateRecord 等等

请问怎样的 sql query 可以 project out 相等的薪金?  比如说 03 Mar 2010 更动后,相应的薪金会依据dtDateRecord 来连接。 我试了很多方式,就差 Relational Division 不太懂。。。

请各位大大帮帮忙~~~  
TSHsoft
2010-8-3 08:42 PM
可以放一个example tblSalary table的资料吗?再把你要的结果用talbe呈现出来。
AhPang
2010-8-3 11:13 PM
本帖最后由 AhPang 于 2010-8-3 11:16 PM 编辑

试试看下面的sql query。不是很清楚你要的东西,我给你的这个可以从attendance看到salary amount base on attendance date。如果是你想要的话,建议你create个view statement 。

select a.*, b.dblSalAmt from tblAtt a
left outer join tblSalary b on a.strEmpUid = b.strEmpUid
where a.dtDateRecord >= b.dtDateAdjust
AhPang
2010-8-4 10:55 AM
上面那个有duplicate,给你另一个试试看。不过有点乱

select e.*, f.dtDateAdjust, f.dblSalAmt from tblAtt e
left outer join
(select c.strEmpUid, c.dtDateRecord, c.dtDateAdjust, d.dblSalAmt
(select a.strEmpUid,a.dtDateRecord, max(b.dtDateAdjust) as dtDateAdjust from tblAtt a
left outer join tblSalary b on a.strEmpUid = b.strEmpUid
where a.dtDateRecord >= b.dtDateAdjust
group by a.strEmpUid,a.dtDateRecord) c
left outer join tblSalary d on c.strEmpUid=d.strEmpUid and c.dtDateAdjust=d.dtDateAdjust) f
on e.strEmpUid=f.strEmpUid and e.dtDateRecord = f.dtDateRecord
zechs
2010-8-7 02:29 PM
SELECT intAttID, strEmpUid, dtDateRecord,
(SELECT dblSalAmt FROM tblSalary WHERE tblAtt.strEmpUid = tblSalary.strEmpUid
AND tblSalary.dtDateAdjust <= tblAtt.dtDateRecord ORDER BY tblAtt.dtDateAdjust DESC TOP 1/LIMIT 1)
FROM tblAtt

是这样子吗?
goodday
2010-8-7 10:49 PM
问题模糊
对不起 , 今天才的空看你的问题 
在MSN 吗??
您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2025-3-11 03:17 AM , Processed in 0.093196 second(s), 25 queries .

Powered by Discuz! X2.5 © 2001-2012 Comsenz Inc.

本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved

Dedicated Server powered by iCore Technology Sdn. Bhd.

合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部