带条件的SQL语句

时间:2017-04-19 22:31:23

标签: sql node.js

我目前正在建立一个食品应用程序,用户可以通过一组单选按钮选择一系列选项(易腐烂,不易腐烂)和(零食,生产或用餐)。我目前正在使用node.js和sqlite 3来查询数据库,以确定在搜索数据库后返回给用户的条目。

我想编写一个查询,当来自客户端的布尔值被发送到服务器时,服务器将选择这样的条目,如果易腐性,如果易腐性在客户端上设置为true,查询将只找到易腐物品,反之亦然。我也希望与

具有相同的功能

示例:

perishable = request.perishable.
non-perishable = request.non-perishable
snack = request.non-perishable
meal = request.non-perishable
produce = request.non-perishable.

var q = 'SELECT * FROM posts WHERE available == true AND (if perishable is true all rows where the perishable column is set to true... etc );

2 个答案:

答案 0 :(得分:0)

为什么不根据perishable更改查询?

var q = 'SELECT * FROM posts WHERE available == true';
if (perishable)
    q += ' AND perishable == true';

答案 1 :(得分:0)

您可以在WHERE中使用CASE WHEN语法:

WHERE perishable IS CASE WHEN [condition] THEN TRUE ELSE FALSE END

快速提示。在数据库文档中搜索此语法。