代码之家  ›  专栏  ›  技术社区  ›  Stan

从表中添加复杂条件的SQL查询

  •  0
  • Stan  · 技术社区  · 7 年前

    我有一个很长的列表(或一个包含3到4列数据的表),在查询中需要同时满足这些需求,如下所示:

    A    B   C
    x1   y1  z1
    x2   y2   z2
    x3   y3   z3
    .
    .
    .
    xn    yn   zn
    

    所以假设,我把这个列表作为一个矩阵/列表放在一个表X(local)中,我可以使用

    SELECT *
    FROM TABLE B
    WHERE CONDITION  IN  ROWS OF TABLE X 
    

    这里要补充的是,我使用python驱动程序通过数据库和表X(我在本地驱动器上有它)获取数据,表X是我在本地创建的。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Dave    7 年前

    我假设您需要python代码。

    在内存中使用简单的 SQLite How to work with sqlite3 and Python

    考虑到你的例子,我们有一个数据列表。

    import sqlite3
    connection = sqlite3.connect("company.db")
    
    cursor = connection.cursor()
    
    staff_data = [ ("William", "Shakespeare", "m", "1961-10-25"),
                   ("Frank", "Schiller", "m", "1955-08-17"),
                   ("Jane", "Wall", "f", "1989-03-14") ]
    
    for p in staff_data:
        format_str = """INSERT INTO employee (staff_number, fname, lname, gender, birth_date)
        VALUES (NULL, "{first}", "{last}", "{gender}", "{birthdate}");"""
    
        sql_command = format_str.format(first=p[0], last=p[1], gender=p[2], birthdate = p[3])
        cursor.execute(sql_command)
    

    查看更多 here .

    .