我已经尝试搜索有关在没有外键的情况下加入表的信息,但似乎答案总是创建外键。我无法修改相关表格来执行此操作,并且我必须报告已经在生产中的数据。以下是所涉及的表格中的部分数据,用于举例说明问题。
Table A
Journal Account Debit Credit Sequence
--------------------------------------------------
87041 150-00 100.00 0.00 16384
87041 150-10 0.00 100.00 32768
87041 150-00 50.0 0.0 49152
87041 210-90 0.0 50.0 65536
然后第二个表,跟踪额外的信息位,基本相同,但缺少将行项目正确绑定在一起的序列号。它有自己不相关的序列号。
Table B
Journal Account Label Artist Sequence
--------------------------------------------------
87041 150-00 Label02 Artist12 1
87041 150-10 Label09 Artist03 2
87041 150-00 Label04 Artist01 3
87041 210-90 Label01 Artist05 4
目前我能想到的最好的办法是加入日记帐和帐户,但这会重复记录。我已经通过在序列号上使用分组和 max() 来接近,但结果是,对于具有大量行的日记条目,并非所有重复项都被删除,并且总是显示第二个表中的第一个匹配项具有相同帐户的行。
Closest - but bad - result
Journal Account Debit Credit Sequence Label Artist
----------------------------------------------------------------------
87041 150-00 100.00 0.00 16384 Label02 Artist12
87041 150-10 0.00 100.00 32768 Label09 Artist03
87041 150-00 50.0 0.0 49152 Label02 Artist12 <-- wrong
87041 210-90 0.0 50.0 65536 Label01 Artist05
如何加入表格以排除重复项,同时显示正确的标签和艺术家?感觉就像我必须生成一个查询,当表 A 中的 49152 记录来寻找匹配时,它知道表 B 中的一条记录已经被使用。
编辑:
@Justin Crabtree A.Sequence 将是输入行项目的顺序。因此,用户可以先输入示例中的最后一行,然后输入第一行,然后输入第三行,最后输入第二行。
@Edper Microsoft SQL Server ......嗯,我今天早上无法远程访问客户端的机器......否则我会提供版本。
@Abe Miessler 是的,你是对的。
一旦我可以回到服务器,我会尝试你的建议@pkuderov