Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SQL多表条件检索语句_Python_Sql_Pandas_Sqlite - Fatal编程技术网

Python SQL多表条件检索语句

Python SQL多表条件检索语句,python,sql,pandas,sqlite,Python,Sql,Pandas,Sqlite,我正在尝试从一个sqlite表中检索数据,该表有条件于同一数据库中的另一个sqlite表。格式如下: master table -------------------------------------------------- | id | TypeA | TypeB | ... -------------------------------------------------- | 2020/01/01 | ID_0-0 |ID_0-1

我正在尝试从一个sqlite表中检索数据,该表有条件于同一数据库中的另一个sqlite表。格式如下:

master table
--------------------------------------------------
| id         | TypeA    | TypeB      | ...     
--------------------------------------------------
| 2020/01/01 | ID_0-0   |ID_0-1      | ...
--------------------------------------------------
我想编写一个sqlite3查询,该查询需要:

  • 日期D出现在master.id中
  • master列中存在的类型列表
  • 子列中存在的属性列表
并返回一个数据帧,其中包含类型行和属性列。当然,我可以把这些表读入pandas,然后在那里做这些工作,但是我认为这将更加需要计算,我想学习更多的SQL语法

更新 到目前为止,我已经尝试过:

"""SELECT *
   FROM child 
   WHERE EXISTS
       (SELECT *
        FROM master
        WHERE master.TypeX  = Type_input
        WHERE master.dateX  = date_input)"""
然后将字符串连接到所有必需的TypeX和dateX上,并使用以下命令执行:

cur.executescripts(script)

您有多少
TypeX
列?您可能应该规范化架构,使其成为多行中的一列。无论如何,只需连接表,然后使用
WHERE
子句根据类型和属性列表进行筛选。StackOverflow不是免费的编码服务。你应该会的。请更新您的问题,以显示您已在某个应用程序中尝试过的内容。有关更多信息,请参阅,并使用:)连接条件类似于(master.TypeA,master.TypeB,…)中child.id上的
。Hello Barmar。谢谢你回答我的问题。我有大约5000个TypeX列和10000000行用于日期,所以master是a=10000000*5000。您将如何规范化此模式?您会抑制主表并在成对的(TypeX,dateX)中创建一个id吗?
cur.executescripts(script)