我目前正在开发一个转换脚本,用于将一堆旧数据从SQL Server 2000数据库转移到SQL Server 2008上。我在这个转换过程中试图完成的事情是消除所有的组合键,并用一个“正确的”主键替换它们。显然,当我传输数据时,我需要将外键值注入到新的表结构中。SQL - 在另一个表中获取最大生效日期小于日期
我目前被困在一个数据集,但我似乎无法让我的头以集合为基础的方式。我工作的两张桌子叫做“收费和法律”。他们有3对1:1关系和“链接”。前两个是LawSource和LawStatue专栏的平等链接,但第三个专栏给我带来了问题。 ChargeDate栏应链接到LawDate专栏,其中LawDate < = ChargeDate。
我当前的查询返回给定费用的多行(在某些情况下),因为法律可能有多于一个LawDate小于或等于ChargeDate。
这是我目前有:
select LawId
from Law a
join Charge b on b.LawSource = a.LawSource
and b.LawStatute = a.LawStatute
and b.ChargeDate >= a.LawDate
无论如何,我也可以重写此获得在规则表中的最新条目是相同的(或更早)在ChargeDate日期?
我收到语法错误,当我尝试这...跨应用和外部申请有效的SQL Server 2K? – 2010-07-19 21:21:06
交叉申请从2005年开始。考虑在变换数据之前移动数据:) – Andomar 2010-07-19 21:28:26