python sqlite3 выполняет множественные запросы выбора - PullRequest
0 голосов
/ 09 июля 2020

У меня есть таблица под названием profil родительская таблица для academi c и projet , и я пытаюсь l oop просмотреть все профили и получить их academi c и projet

import pandas as pd
import sqlite3

conn = sqlite3.connect("Desktop/Dev/ScoutIT/src/db.sqlite3")
cur = conn.cursor()
candidats_id = cur.execute("select id from Candidat_profil ;")
for candidat_id in candidats_id: 
    academic= cur.execute('select * from Candidat_academic where profil_id = ?' , candidat_id)
    projet= cur.execute('select * from Candidat_projet_realise where profil_id = ?' , candidat_id)
    for row in academic:
        print(row)
    for row in projet:
        print(row)

приведенный выше код распечатывает только projet, но когда я комментирую projet, я получаю напечатанный academi c.

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

1 Ответ

0 голосов
/ 09 июля 2020

попробуйте изменить свой код на следующее:

import pandas as pd
import sqlite3    
conn = sqlite3.connect("Desktop/Dev/ScoutIT/src/db.sqlite3")
cur = conn.cursor()
candidats_id = cur.execute("select id from Candidat_profil ;")
for candidat_id in candidats_id: 
    cur.execute('select * from Candidat_academic where profil_id = ?' , candidat_id)
    academic=cur.fetchall()
    cur.execute('select * from Candidat_projet_realise where profil_id = ?' , candidat_id)
    projet= cur.fetchall()
    for row in academic:
        print(row)
    for row in projet:
        print(row)

Я советую вам использовать cur.fetchone() или cur.fetchall() для документации, не стесняйтесь посещать: a

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...