如何通过3级表达式和语句创建sql select
通常,我的网站基于SQLite数据库和搜索结果将以$sql =显示。
"SELECT DISTINCT * FROM amz WHERE Title LIKE \"$qq%\" OR Price LIKE \"$qq%\" GROUP BY Title";.以上将是搜索和选择查询,其中包含任何搜索关键字从数据库中的列标题或价格。
但是,我需要从数据库创建3个表达式和语句,如下所示:
$sql = "SELECT DISTINCT * FROM amz WHERE Title LIKE \"$qq%\" OR Price LIKE \"$qq%\" GROUP BY Title";$sql = "SELECT DISTINCT * FROM amz WHERE Category LIKE \"$qq%\" GROUP BY Title";的形式签入类别列。我试着用自己创造。但结果似乎是回声1)。只能选择。
示例:
我搜索“床上用品的被褥套”。在列标题中,数据库中有产品包含这个关键字没有(s)。
最初,将检查表达式是否匹配1)。语句将从列标题或价格中选择产品。
但是,在列类别中。我宣布每种产品的具体类别,如“被褥套”到类别。
因此,如果搜索不匹配床上用品的被褥套在标题或价格。结果将显示产品匹配搜索查询床上用品舒适度设置在列类别,而不是标题或价格。
最后,如果没有搜索查询,则每个列中的任何查询都会回显自定义消息。
补充:
这是一个比较查询1和查询2结果的截图。

这个屏幕截图是查询1的结果,搜索关键字没有(s),喜欢或匹配标题列或价格列从数据库。

这个屏幕截图是查询2的结果,搜索关键字与喜欢或匹配的类别列。这很奇怪,因为当我将它设置为显示结果时,它变成了“找不到”。

这就是我的编码,我不确定它是否正确?
谢谢
问候
发布于 2019-02-20 13:16:31
是否需要编写一个sql来完成这一任务?
实际上,您已经编写了伪代码:
现在开始用机器能理解的语言来表达它。一个起点:
从查询1执行和获取结果
如果结果集不是空的,则显示结果
else从查询2执行和获取结果
如果结果集不是空的,则显示结果
custom 显示自定义消息
-编辑--
根据代码的屏幕截图,您根本不运行上述查询,而是运行由str_repl修改的其他查询。它似乎将其转换为聚合查询(COUNT(*)),并且聚合查询总是至少返回一行。这可能会导致这个问题。
https://stackoverflow.com/questions/54785583
复制相似问题