python - 从多个没有外键的表中选择数据?

标签 python sql flask sqlite

我的 python 文件中有当前的 sqlite3 代码:

Data = Cursor.execute("""
    SELECT Username, Password
    FROM PatientTable
    WHERE Username = '{}'
""".format(Username))
Data = Data.fetchall()

数据库中有多个表:PatientTableDoctorTableManagerTable。每个属性分别在第二列和第三列中具有用户名密码属性。

问:我当前的代码仅从 PatientTable 选择数据,但我需要从所有三个表中选择数据识别每个项目在哪个表中数据来自。

现在,我想我可以使用多个 SQL 语句来完成此操作,但这似乎有些过分了。我考虑过使用 JOIN 但没有外键 - 将数据库相互关联的键。

提前致谢。

最佳答案

您似乎正在寻找 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 = '{}'

关于python - 从多个没有外键的表中选择数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54840116/

相关文章:

sql - 如何使用 SUM() 等 SQL 将列中的所有值相乘

mysql - SQL 数据库函数

javascript - AngularJS ng-include 可以在 FLASK 上加载 Jinja2 处理过的 html 吗?

python - Elastic Beanstalk Flask 应用程序上的 HTTPS

python - 将 pdf 文件转换为 base64Binary 的最佳方法是什么?

python - 如何 reshape 文本数据以适合keras中的LSTM模型

sql - 检索第二个日期值

python - Flask RESTful POST JSON 失败

java - 我无法从 java 运行 python 脚本,我认为这是因为该脚本没有执行权限

运行 logging.basicConfig 之前的 Python 日志记录?