2017-10-06 8 views
0

J'ai essayé d'exécuter la requête suivante, mais elle ne me donne aucune sortie. J'ai essayé d'exécuter la même requête en codant en dur les valeurs et cela me donne la sortie correcte.Deux instructions SELECT NESTED

select * from patients where patients.doctorid = (select id from doctors where username = 'admin'); 

Quelqu'un peut-il dire quelle est l'erreur?

+0

Salut, pourriez-vous vérifier votre première ligne de code. Il a une citation d'ouverture (") mais pas une clôture –

+0

si votre requête interne renvoie plus d'un enregistrements, alors vous devez remplacer = par –

+0

@BertRaeymaekers J'ai donné le code comme ci-dessous, mais ne fonctionne toujours pas auto. db.execute ("SELECT * FROM patients O WH patients.doctorid = (SELECT id FROM médecins OERE username = '% s'% (usr))", callback = self.add_response) – Haritha

Répondre

0

Essayez de l'exécuter comme ceci:

self.db.execute("SELECT * FROM patients WHERE patients.doctorid = (SELECT id FROM doctors WHERE username = '%s')" % (usr), callback=self.add_response) 

je fermai la requête SQL avec " et fixe les parenthèses.

Vous pouvez également essayer comme le montre here:

self.db.execute("SELECT * FROM patients WHERE patients.doctorid = (SELECT id FROM doctors WHERE username = '%s';", (usr), callback=self.add_response)