SQLite查询多列搜索

时间:2020-10-20 21:46:33

标签: python python-3.x sqlite

我有一个SQLite数据库,我想用一个单词(从变量中)搜索两列

目前我有以下代码和查询...

selection = locTextBox.get()
    cursor.execute("SELECT * FROM depot_racks WHERE rack OR floorzone LIKE '%' || ? || '%'", (selection,))
    for row in cursor.fetchall():
        dataArea.insert("", tk.END, values=row)

当变量为空时,它返回所有正确的结果;当变量设置为FZ1时,它返回在地板区域列中找到的项目,但是如果变量包含RACK1,则它从机架列中不返回任何内容。

通过用户从中选择的组合框(RACK1,RACK2等或FZ1,FZ2等)设置变量

该查询显然在某种程度上是错误的,我只是无法弄清楚,感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

OR在算术上不像“ +”那样关联,因此您必须重复整个LIKE部分。

cursor.execute("SELECT * FROM depot_racks WHERE rack LIKE '%' || ? || '%' OR floorzone LIKE '%' || ? || '%'", (selection, selection)) 
相关问题