SQL Query - gleiche Variablen

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
ivy1991
User
Beiträge: 6
Registriert: Montag 16. Juli 2012, 11:22

So, nachdem mir gerade vorher so gut geholfen wurde, wende ich mich gleich nochmal an euch :)

Ich hab ein SQL-Query (nicht mein echtes, da das ziemlich lang und noch unverständlich ist) :

Code: Alles auswählen

statement = "SELECT One, Two, Three \
FROM db.beispiel \
WHERE One = ? AND Two=? AND Three = (SELECT MAX(Three) FROM db.beispiel WHERE ONE=? AND TWO=?)"
So, jetzt brauche ich für beide WHERE-Klauseln die gleichen Variablen. Nennen wir sie test_one und test_two. Muss ich dann schreiben:

Code: Alles auswählen

cursor.execute(statement,test_one,test_two,test_one,test_two)
oder reichts wenn ich die zwei Variablen einmal eingebe?

Bin noch relativ neu in pyodbc...
BlackJack

@ivy1991: Du musst so viele Werte übergeben wie Platzhalter vorhanden sind. Der Rechner kann ja nicht hellsehen welche Platzhalter er durch welchen Wert ersetzen soll, wenn es weniger sind.

Falls `pyodbc` auch Platzhalter mit Namen unterstützt, könnte man auch eine Abbildung von Platzhalter auf Wert übergeben.
Antworten