Meine ursprüngliche Abfrage ist wieWie eine Liste mit Namen von Python filtern, wenn sie durch SQLAlchemy Abfrage
select table1.id, table1.value
from some_database.something table1
join some_set table2 on table2.code=table1.code
where table1.date_ >= :_startdate and table1.date_ <= :_enddate
, die in einer Zeichenfolge in Python gespeichert wird. Wenn ich
tunx = session.execute(script_str, {'_startdate': start_date, '_enddate': end_date})
dann
x.fetchall()
gibt mir die Tabelle ich will.
Nun ist die Situation, Tabelle 2 ist nicht mehr verfügbar für mich in der Oracle-Datenbank, stattdessen ist es in meiner Python-Umgebung als DataFrame verfügbar. Ich frage mich, was ist der beste Weg, um die gleiche Tabelle aus der Datenbank in diesem Fall zu holen?
Danke, es funktioniert. Das einzige Problem ist, dass die maximale Anzahl von Ausdrücken in einer Liste 1000 ist, also muss ich mehrere Abfragen ausführen. – wh408
Ja, es gibt eine Einschränkung. Wenn ich mich richtig erinnere, ist die "IN" -Klausel aus Performance-Sicht nicht die beste Option. Abhängig von den Indizes in Ihrer Datenbank möchten Sie möglicherweise noch kleinere Teile aufteilen. – van