gpt4 book ai didi

python - SQL-获取最后5个整数

转载 作者:行者123 更新时间:2023-11-29 13:50:52 25 4
gpt4 key购买 nike

我在两个不同的表中有两列。
PCTNo 列的值为:US2002014866
pct_publishing_data 列的值为:JP1014866
我想获取 PCTNo 的最后 5 个值和 pct_publishing_data 的最后 5 个值,以及 pct_publishing_data 的 5 位数字是否在 中PCTNo 和前 2 个值相同,然后它会显示。在这种情况下,它不会显示

这是我一直在实现的代码。

import MySQLdb

db = MySQLdb.connect(host = "localhost", user = "root", passwd="", db="fak")
cursor = db.cursor()

#Execute SQL Statement:
cursor.execute("SELECT auip_wipo_sample.PCTNo FROM auip_wipo_sample INNER JOIN us_pat_2005_to_2012 ON RIGHT(auip_wipo_sample.PCTNo,5) = RIGHT(us_pat_2005_to_2012.pct_publishing_data,5) AND LEFT(auip_wipo_sample.PCTNo,2) = LEFT(us_pat_2005_to_2012.pct_publishing_data,2)")
#Get the result set as a tuple:
result = cursor.fetchall()

#Iterate through results and print:
for record in result:
print record
print "Finish."

#Finish dealing with the database and close it
db.commit()
db.close()

但这不起作用,它给了我所有这些

帮助。

最佳答案

它应该可以正常工作,您可以使用 AND 因为您只想在右端和左端匹配时才显示它们。但当然 US2002014866JP1014866 不匹配,因为匹配它应该是 US1014866

这是一个SQL Fiddle这样就可以了(我简化了表和列名称)

create table table1 (x1 varchar(20), y1 varchar(20)); 
create table table2 (x2 varchar(20), y2 varchar(20));
insert into table1 values ('US2002014866','foo1');
insert into table2 values ('US1014866','foo2');
insert into table2 values ('JP1014866','bar');

select *
from table1
join table2 on ( left(x1,2)= left(x2,2) and
right(x1,5)=right(x2,5) )

结果只有一行:

X1           Y1   X2        Y2
US2002014866 foo1 US1014866 foo2

关于python - SQL-获取最后5个整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16698656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com