我有一个数据表(AmenityData),该表的一列包含邮政部门,例如E14 7
我还有一个 Excel 电子表格,其中包含邮区列表,例如E14
我需要从 AmenityData 表中获取所有数据,其中邮政区就像邮政部门,例如其中 [PostalDistricts] + '%' LIKE [PostalSector]。
我目前使用的代码没有出现错误,只是不返回任何内容,而且我知道应该返回大量结果:
SELECT * FROM AmenityData As a
INNER JOIN OPENROWSET ('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=\\Bdzserver\db_creation\postaldistricts.xls;HDR=YES', 'SELECT * FROM [Sheet1$]') As b
ON b.[PostalDistricts] + '%' LIKE a.[PostalSector]
我什至不确定是否可以使用 LIKE 连接表,我以前从未这样做过。
我已经设法自己解决了这个问题。
我刚刚在数据中创建了一个新列,并将邮政部门添加到该列,然后将邮政部门转换为邮政区
UPDATE [AmenityData]
SET PostalDistrict = REPLACE(PostalDistrict , ' ', '')
UPDATE [AmenityData]
SET PostalDistrict = LEFT(PostalDistrict ,LEN(PostalDistrict )-1)
完成此操作后,我运行了以下命令
SELECT * FROM AmenityData As a
INNER JOIN TypesToGroups As b
ON a.ClassCode = b.FacilityTypeID
INNER JOIN Groups As c
ON b.GroupID = c.GroupID
INNER JOIN OPENROWSET ('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=\\Bdzserver\db_creation\postaldistricts.xls;HDR=YES', 'SELECT * FROM [Sheet1$]') As d
ON d.[PostalDistricts] = a.[PostalDistrict]
一切都很好。
我仍然想知道我原来的问题是否可能,但是否有人可以提供帮助。
J.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)