Seite 1 von 1

2 tables in einer Abfrage

Verfasst: Dienstag 11. April 2023, 18:19
von Ernie1412
ich habe folgendes:

Code: Alles auswählen

with self.managed_query() as query: 
        query.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name != 'sqlite_sequence'") # Tabellenamen herrausfinden.
        query.exec()                
        while query.next():                      
                table_name=query.value("name")
                with self.managed_query() as query1: 
                       query1.prepare(f"SELECT * FROM {table_name} WHERE {table_name}Link LIKE :link)
                       query1.bindValue(":link", f"{link}%")                                       
                       query1.exec()
                                        
wie kann ich die beiden in einer Abfrage (SELECT) vereinen ?
ich arbeite mit QSQLDatabase und SQlite3

Re: 2 tables in einer Abfrage

Verfasst: Dienstag 11. April 2023, 18:35
von __deets__
Ueberhaupt nicht. Das laesst SQL nicht zu, dass Spaltenwerte zu Bezeichnern in einem Statement werden.

Re: 2 tables in einer Abfrage

Verfasst: Dienstag 11. April 2023, 18:39
von Sirius3
Warum brauchst Du überhaupt diese Abfrage? Wenn alle Tabellen ein Link-Feld haben, dann ist das ein sehr seltsames Datenbank-Design. Kann es sein, dass Du statt vieler Tabellen eigentlich nur eine einzige haben möchtest?

Re: 2 tables in einer Abfrage

Verfasst: Dienstag 11. April 2023, 19:01
von __deets__
Aber Sirus3, solche Vermutungen und Vorschlaege sind doch schon wieder anmassend, und respektlos. Der Anfaenger, geheiligt sei sein Nichtwissen, sein Reich komme, sein Wille geschehe, wie im Speicher, so auf der Platte. Sein taeglich Codeschnipsel gib ihm heute, und vergib ihm seine Code, und er ignoriere unseren. Und fuehre ihn nicht in Versuchung, sondern erloese ihm vom boesen Neuen, denn sein ist das Recht, und das Beharren, auf seinem Weg, in Ewigkeit. Amen.

Re: 2 tables in einer Abfrage

Verfasst: Dienstag 11. April 2023, 19:49
von sparrow
Ich habe das schlimme Gefühl, das ist das resultierende Gewächs, das hier einmal gepflanzt wurde.