我的sqlite3
文件中有这个当前的python
代码:
Data = Cursor.execute("""
SELECT Username, Password
FROM PatientTable
WHERE Username = '{}'
""".format(Username))
Data = Data.fetchall()
数据库中有多个表:PatientTable
,DoctorTable
,ManagerTable
。每个属性在第二列和第三列中分别具有Username
和Password
的属性。
问:我当前的代码仅从PatientTable
中选择数据,但我需要从所有三个表中选择数据,并且确定每个数据项来自哪个表来自。
现在,我想我可以使用多个SQL语句来执行此操作,但这似乎过多。我曾考虑过使用JOIN
,但没有外键-将数据库彼此关联的键。
谢谢。
答案 0 :(得分:1)
您似乎正在寻找UNION。您可以在每个查询中添加固定列,以区分结果集中的每个记录来自哪个表:
SELECT 'PatientTable' source_table, Username, Password
FROM PatientTable
WHERE Username = '{}'
UNION ALL SELECT 'DoctorTable' , Username, Password
FROM DoctorTable
WHERE Username = '{}'
UNION ALL SELECT 'ManagerTable', Username, Password
FROM ManagerTable
WHERE Username = '{}'