2017-10-06 186 views
0

我一直在嘗試執行下面的查詢,但它沒有給我任何輸出。兩個SELECT語句NESTED

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

我試圖通過硬編碼值來執行相同的查詢,它給了我正確的輸出。

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

有人可以告訴最新的錯誤嗎?

+0

嗨,你可以檢查你的第一行代碼。如果你的內部查詢返回多個記錄,那麼你應該替換=在 –

+0

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

+0

@BertRaeymaekers我給了代碼如下,但仍然沒有工作。 self。 – Haritha

回答

0

嘗試如下執行:

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

我關閉了SQL查詢與"和固定的括號內。

您也可以嘗試如圖所示here

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