Python SQL OR Abfrage

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Killver
User
Beiträge: 32
Registriert: Montag 12. Juli 2010, 17:03

Hey!

Ich habe folgendes SQL problem:

Ich lese zuerst verschieden IDs aus, welche ich dann in einer Liste habe, also z.B:

list = [10, 56, 87, ...]

Die Liste kann sehr lang sein.

Nun möchte ich in einer neuen Abfrage alle Ergebnise erhalten, die diese IDs beinhalten.

Also so in der Art: SELECT ... WHERE ID = 10 OR ID = 56 ... usw

Wie kann ich das nun elegant machen?

Wenn ich es händisch in einem String zusammenstückle, hängt es ihn bei sehr vielen daten auf. Es mussja irgendwie eleganter gehen :)

lg
philipp
Benutzeravatar
DaMutz
User
Beiträge: 202
Registriert: Freitag 31. Oktober 2008, 17:25

es gibt in SQL die Einschränkung mit 'WHERE IN (a, b, c, d)':

Code: Alles auswählen

SELECT f_name, l_name, title from employee_data where title IN ('Web Designer', 'System Administrator');
mit deinem Beispiel:

Code: Alles auswählen

SELECT ... WHERE ID IN (10, 56)
oder vielleicht geht es auch mit einem 'JOIN', falls die IDs nur für das Verknüpfen der Tabellen benötigt werden.
Killver
User
Beiträge: 32
Registriert: Montag 12. Juli 2010, 17:03

Danke vielmals. jetzt crasht python.exe nicht mehr :)
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

DaMutz hat geschrieben: oder vielleicht geht es auch mit einem 'JOIN', falls die IDs nur für das Verknüpfen der Tabellen benötigt werden.
Klingt für mich ja fast so! Und dann wäre die Lösung mit dem "in" furchtbar :-D
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten