Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
查看: 1669|回复: 5
打印 上一主题 下一主题

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

[复制链接]

10

主题

0

好友

862

积分

青铜长老

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

跳转到指定楼层
1#
发表于 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 不太懂。。。

请各位大大帮帮忙~~~  




收藏收藏0

57

主题

18

好友

1万

积分

无敌名嘴

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

2#
发表于 2010-8-3 08:42 PM |只看该作者
可以放一个example tblSalary table的资料吗?再把你要的结果用talbe呈现出来。


回复

使用道具 举报

5

主题

0

好友

318

积分

超级会员

Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

3#
发表于 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


回复

使用道具 举报

5

主题

0

好友

318

积分

超级会员

Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

4#
发表于 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


回复

使用道具 举报

13

主题

0

好友

6850

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

5#
发表于 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

是这样子吗?


回复

使用道具 举报

13

主题

0

好友

2113

积分

白金长老

Rank: 10

6#
发表于 2010-8-7 10:49 PM |只看该作者
问题模糊
对不起 , 今天才的空看你的问题 
在MSN 吗??


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

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

GMT+8, 2024-10-25 09:28 AM , Processed in 0.107937 second(s), 26 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部