Return records for 100 specific surnames

后端 未结 1 1994
刺人心
刺人心 2020-12-22 02:01

I have a tuple, l, with 100 surnames. How can I do something like this in sqlite3:

l = (\"Smith\", \"Murphy\", \"Owens\", ...)
with sqlite3.conn         


        
相关标签:
1条回答
  • 2020-12-22 02:39

    Question: return all the records for the surnames contained in a tuple

    The core is, create a Query with as much bindings - ? - as in the sequence.
    The [:-1] is needed to exclude the last comma ...?,.

    • SQL As Understood By SQLite - whereclause

      surnames = ("Smith", "Murphy", "Owens")
      bindings = '?,'*len(surnames)
      QUERY = "select firstname, surname from census_data where surname in ({});"
                .format(bindings[:-1])
      print(QUERY)
      # >>> select firstname, surname from census_data where surname in (?,?,?);
      cur.execute (QUERY, surnames)
      

    Tested with Python:3.5.3 - sqlite3:2.6.0

    0 讨论(0)
提交回复
热议问题