我正在使用Python并尝试比较SQL中的两个表,并通过部分国家名称来匹配它们。到目前为止,我已经得到了完全匹配的国家名称。我在尝试获取部分匹配时遇到问题。我试图找到匹配的一个例子是一张表中的“缅甸”和另一张表中的“缅甸(缅甸)”
conn = sqlite3.connect('CheapestDestinations.db')
c = conn.cursor()
c.execute('select FinalDestinations_table.CountryName, advisory_table.Country \
FROM FinalDestinations_table JOIN advisory_table \
WHERE FinalDestinations_table.CountryName like advisory_table.Country')
c.fetchall()
这是我的结果:
[('Mexico', 'Mexico'),
('Canada', 'Canada'),
('Costa Rica', 'Costa Rica'),
('Barbados', 'Barbados'),]
连接要与运算符
LIKE
一起使用的%
通配符,并将WHERE
子句更改为ON
子句,因为您要加入表:可以使用
%
通配符找到部分匹配。以您的例子:此更改将{}与包含该文本的{}中的国家匹配;e、 g.“缅甸”将与“缅甸”、“缅甸”和“另一个缅甸名称”匹配
有关更多示例和用法,请参见this link
相关问题 更多 >
编程相关推荐