Ich habe die folgenden Daten in einem vertica db zu verbinden, Mytable
:Erstellen Sie eine temporäre Tabelle in Python mit einer SQL-Tabelle
+----+-------+
| ID | Value |
+----+-------+
| A | 5 |
| B | 9 |
| C | 10 |
| D | 7 |
+----+-------+
ich eine Abfrage in Python zu erstellen versuchen eine vertica Datenbank zuzugreifen. In Python habe ich eine Liste:
ID_list= ['A', 'C']
Ich möchte eine Abfrage erstellen, die im Grunde innere Mytable
mit dem ID_list
verbindet und dann konnte ich eine WHERE
Abfrage machen. So wird es im Grunde so etwas wie dieses
SELECT *
FROM Mytable
INNER JOIN ID_list
ON Mytable.ID = ID_list as temp_table
WHERE Value = 5
sein ich nicht Schreibrechte auf die Datenbank haben, so dass die Tabelle localy werden muss erstellt. Oder gibt es einen alternativen Weg, dies zu tun?
Ich glaube nicht, dass Sie eine temporäre Tabelle lokal erstellen können, aber warum nicht einfach die Werte direkt in der WHERE-Klausel verwenden? –
Nun, die ID_list ist ziemlich lang, würde das funktionieren? Ich meine, schlimmstenfalls kann ich eine Schleife erstellen. – valenzio
Ich weiß Python nicht, so traurig kann ich nicht die volle Antwort geben, aber Sie können 'WHERE IN (5, 10, ...)' verwenden, wenn Vertica das unterstützt. Verwenden Sie eine parametrisierte Abfrage, um eine Injektion zu vermeiden. –