我有一个名为“资源”的表,如下所示:
Country City Street Headcount
UK Halifax High Street 20
United Kingdom Oxford High Street 30
Canada Halifax North St 40
由于位置字段的性质,我需要将它们映射到单个“地址”字段,因此我还有下表称为“地址”:
Country City Street Address
UK Halifax High Street High Street, Halifax, UK
Canada Halifax North St North Street, Halifax, Canada
United Kingdom Oxford High Street High Street, Oxford, UK
(实际上,地址字段确实添加了信息,而不是仅仅组合已有的信息。)
我目前正在使用以下 SQL 来生成查询:
SELECT Resources.Country, Resources.City, Resources.Street, Addresses.Address,
Resources.Headcount
FROM Resources
INNER JOIN Addresses ON Resources.Country = Addresses.Country
AND Resources.City = Addresses.City
AND Resources.Street = Addresses.Street
这对我有用,但我担心我没有看到人们在其他地方的单个连接中使用这么多 AND,所以不知道这是否是一个坏主意。(这是简化版本 - 在另一种情况下,我可能需要在单个连接中最多 8 个 AND)这是解决问题的最佳方法,还是有更好的解决方案?
谢谢