我有一组数据(表格),如下所示。
+---------+---------+---------+-----------+
| 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拒绝做我的作业,让我解释一下我做了什么!它不符合道德规范,但能够工作。
如果用户使用name或surname作为关键字搜索表,我会使用OR查询来提取这些结果。然后在for循环中通过选定的过滤器数组(如果有)运行该结果,并通过删除重复的条目来显示最终结果。 如果没有执行搜索并且只应用了一组过滤器,那么我将整个表带入并按上述方式运行for循环。 如果只执行搜索,那么我使用OR查询带来条带结果,如上所述。
答案 0 :(得分:1)
你接近这个错误的方式,在sqlite中没有过滤器或搜索,你有WHERE
子句和一些逻辑运算符,你可以将它们组合起来做你想要的。以下是2的示例:
SELECT * FROM [tableName] WHERE (Name = "something" OR Surname = "somethingElse") AND (Country = "someContry" OR Status = "someStatus");
你只需要找出逻辑,重要的部分是用括号分隔每个部分。