用于在JavaScript中执行搜索和多个过滤器的SQLite查询
我有一组数据(表),如下所示用于在JavaScript中执行搜索和多个过滤器的SQLite查询,javascript,database,sqlite,cordova,cross-platform,Javascript,Database,Sqlite,Cordova,Cross Platform,我有一组数据(表),如下所示 +---------+---------+---------+-----------+ | Name | Surname | Country | Status | +---------+---------+---------+-----------+ | Ryan | Gosling | U.S.A. | Citizen | | Raymond | Green | Germany | Citizen | | Andrew | Hol
+---------+---------+---------+-----------+
| Name | Surname | Country | Status |
+---------+---------+---------+-----------+
| Ryan | Gosling | U.S.A. | Citizen |
| Raymond | Green | Germany | Citizen |
| Andrew | Hollow | U.S.A. | Immigrant |
| Sam | Giggs | U.S.A. | Citizen |
+---------+---------+---------+-----------+
用户可以执行以下任务:
由于Rob拒绝做我的作业您的做法是错误的,sqlite中没有筛选或搜索,您有
WHERE
子句和一些逻辑运算符,您可以将它们组合起来做您想做的事情。以下是2的示例:
SELECT * FROM [tableName] WHERE (Name = "something" OR Surname = "somethingElse") AND (Country = "someContry" OR Status = "someStatus");
你只需要弄清楚逻辑,重要的是用括号来分隔每个部分。NO;我不会做你的家庭作业:普洛尔,我不是要你做我的家庭作业!我累了,失败了……我设法找到了一个解决办法,但还不够好。我想要一个sql查询。@Rob Brander,检查编辑部分。我尝试过这种方法。但我的问题是用户可以在同一列中选择多个过滤器。比如Country='U.S.A.'、'U.K.'。我不知道如何为这种情况编写查询。@aB9只需添加更多的
或条件。例如:((Country=“U.S.A”或Country=“U.K”或Country=“someContry”)或Status=“someStatus”)
。您也可以在条件中使用。例如:国家在(“U.A”、“U.K”、“someContry”)
Ohk,所以我需要运行for循环,根据使用的过滤器数量形成查询,对吗?@aB9是的,应该可以,但使用字符串连接创建SQL语句是不安全的。您应该清理用户输入。通常这是通过使用准备好的语句来完成的(取决于编程语言)。很抱歉,回复太晚!我尝试使用或条件,现在它正在工作。:)