以下是我的代码,
connect=Tl.connection.Connection()
a= connnect.connect('dbname', schema='schemaname')
q='''select id, id1 from table1;'''
w= Tl.datatool.todf(a(q))
id=w.id
id1=w.id1
现在对于每个id和id1,我需要执行第二个查询,它应该像一个循环,应该存储在数据帧中,
我正在寻找的查询是,
select id2 from table2 where x=id and y=id1;
我在努力,
for i in id:
for j in id1:
q2='''select id2 from table2 where x=%i and y=%i;''' (int(id), int(id1))
print a(q2)
但我无法得到确切的输出。我收到以下错误,
TypeError: 'str' object is not callable
我正在寻找的输出是,对于id和id1的所有值,我需要获取id2并且所有值都应该存储在数据帧中。
有人可以帮我这么做吗?
答案 0 :(得分:0)
这应该有用,但它与SQL非常不同。实际上,通过执行此操作,您将绕过关系数据库的功能。您应该使用子查询;使用官方MySQL文档获取更多信息。
答案 1 :(得分:0)
您忘记使用%
运算符:
q2='''select id2 from table2 where x=%i and y=%i;''' (int(id), int(id1))
应该阅读
q2='''select id2 from table2 where x=%i and y=%i;''' %(int(id), int(id1))