Можно ли использовать возвращаемое значение столбца в качестве имени таблицы в SQLite-запросе?

Я хочу написать запрос, который исследует все таблицы в базе данных SQLite для части информации, чтобы упростить мою диагностику после инцидента (производительность не имеет значения).

Я надеялся написать запрос, который использует таблицу sqlite_master, чтобы получить список таблиц, а затем запросить их, все в одном запросе:

SELECT Name FROM sqlite_master WHERE Type = 'table' AND ( SELECT count(*) FROM Name WHERE conditions ) > 0; 

Однако, пытаясь выполнить этот стиль запроса, я получаю сообщение об ошибке no such table: Name . Есть ли альтернативный синтаксис, который позволяет это, или он просто не поддерживается?

SQLite разработан как встроенная база данных, то есть для использования вместе с «реальным» языком программирования. Чтобы иметь возможность использовать такие динамические конструкции, вы должны выйти за пределы самого SQLite:

 cursor.execute("SELECT name FROM sqlite_master") rows = cursor.fetchall() for row in rows: sql = "SELECT ... FROM {} WHERE ...".format(row[0]) cursor.execute(sql)