我有两张桌子,CompanyAddresses& MyCompanyAddresses。(更改名称以保护有罪者)。
CompanyAddresses保存公司的默认地址列表。这些记录是不可变的。用户可以更改公司地址的详细信息,但这些更改会被存储MyCompanyAddresses。
如何从两个表中生成一个地址列表,不包括CompanyAddresses相应记录所在的记录MyCompanyAddresses?
样本数据
公司地址
DatabaseId | Id | Code | Name | Street | City | Zip | Maint Date
1 | Guid1 | APL | Apple | 1 Infinite Loop | Cupertino | 95014 | 11/1/2012
2 | Guid2 | MS | Microsoft | One Microsoft Way | Redmond | 98052 | 11/1/2012
我的公司地址
DatabaseId | Id | Code | Name | Street | City | Zip | Maint Date
5 | Guid3 | APL | Apple | Updated Address | Cupertino | 95014 | 11/6/2012
期望的结果
DatabaseId | Id | Code | Name | Street | City | Zip | Maint Date
2 | Guid2 | MS | Microsoft | One Microsoft Way | Redmond | 98052 | 11/1/2012
5 | Guid3 | APL | Apple | Updated Address | Cupertino | 95014 | 11/6/2012
我尝试了 MS SQL 的各种排列,UNION但无济于事EXCEPT。INTERSECT另外,我也不相信JOIN's 是答案,但我很高兴被证明是错误的。
数据库设计可以更改,但最好保持不变。