从上一个d的结果中选择数据

2024-04-24 06:25:02 发布

您现在位置:Python中文网/ 问答频道 /正文

对不起。我不熟悉用Python表达SQL语句。你知道吗

我正在尝试做“选择x…”来自上一个查询结果。你知道吗

例如,我有一个第一个查询(sql1):

sql1 = 'select course_id, record_id from Courses ' \
       ' where ( record_id not in ("TEST", "TEST123")) '
cursor.execute(sql1)
e = cursor.fetachall()

当我尝试在不分解查询的情况下执行此操作时,由于数据类型不同而出现了一个错误。你知道吗

现在,如何从sql1中进行选择(这次我必须添加一个数据计算)?你知道吗

sql2 = ' select course_id, max(record_id) + 1 from ... ? '       

Tags: infromtestidsqlnot语句record
2条回答

您可以使用视图来存储查询。 你知道吗

CREATE OR REPLACE VIEW v AS
select course_id, record_id from Courses 
where ( record_id not in ("TEST", "TEST123"));

select course_id, max(record_id) + 1 from v;

使用Python只需要一个查询。你知道吗

sql1 = 'CREATE OR REPLACE VIEW v AS
select course_id, record_id from Courses 
where ( record_id not in ("TEST", "TEST123"));

select course_id, max(record_id) + 1 from v;'
cursor.execute(sql1)
e = cursor.fetachall()

有关视图的详细信息:https://dev.mysql.com/doc/refman/5.7/en/create-view.html

使sql1成为sql2的子查询。例如:

 """select course_id, max(record_id) + 1 from 
   (select course_id, record_id from Courses
    where  record_id not in ('TEST', 'TEST123'))"""

相关问题 更多 >