我有两张桌子,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 是答案,但我很高兴被证明是错误的。
数据库设计可以更改,但最好保持不变。