gpt4 book ai didi

sql - Postgresql 查询两个具有相同命名表的不同数据库

转载 作者:行者123 更新时间:2023-11-29 14:24:42 26 4
gpt4 key购买 nike

您好,通过使用 python 的 psycopg2 库,我目前可以连接到数据库并像这样检索:

conn = psycopg2.connect("dbname='db1' user='postgres' host='xxxxxx' password='mypass'");
qr = conn.cursor()
qr.execute("SELECT avg(pavg) FROM mytable WHERE id =5")

现在在名为“db1”的数据库旁边,我必须从另一个包含相同表的 ip 查询另一个数据库,附加查询,即

conn1 = psycopg2.connect("dbname='mydb' user='postgres' host='xxxxxx' password='mypass'");

conn2 = psycopg2.connect("dbname='mydb' user='postgres' host='yyyyyy' password='mypass'");

qr1 = conn1.cursor()
qr1.execute("SELECT avg(pavg) FROM mytable WHERE id =5")

qr2 = conn1.cursor()
qr2.execute("SELECT avg(pavg) FROM mytable WHERE id =5")

我怎样才能做到这一点?

最佳答案

听起来像是一个可疑的设计。无论如何,IIRC,cursor.fetchall() 返回一个列表,因此您可以执行 rows = qr.fetchall() + qr2.fetchall()

您必须自己处理重复项。如果您使用不同的 schemas你可以做 SELECT ... FROM schema1.foo ... UNION SELECT ... FROM schema2.foo

关于sql - Postgresql 查询两个具有相同命名表的不同数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1951723/

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