选择具有位数据类型条件的多个位置

时间:2016-07-26 00:24:43

标签: android sqlite

我为销售新车/二手车的汽车经销商创建了一个数据库。我有两张桌子。一个( CarInfo )包含有关汽车的所有信息(Id,品牌,年份,isUsed等)和另一个( UsedParts ),其中包含哪些部件可用于所有二手车。 UsedParts 表由位和外键组成( CarInfo' s Id )。

我尝试构建一个从 UsedParts 中选择所有内容的查询,其中至少完成了多个条件。

这是我需要查询的列的示例:enter image description here

一个例子是,如果我运行此查询并且 HasFrontBumper = 1 ,它应该返回所有具有1的行。换句话说,应该返回两行而不是所有行。另一个例子是 HasRearBumper = 1 HasLeftWindshield = 1 它应该返回两行。

这是我迄今为止所尝试过的......

查询: (请记住;以&#34开头的所有内容都有",它的数据类型是

SELECT * FROM UsedParts WHERE 
HasFrontBumper = 1 OR HasRearBumper = 0 OR HasLeftWindShield = 0 OR HasRightWindShield = 0

尝试了与ANDOR不同的组合,但仍然没有按照我想要的方式工作

1 个答案:

答案 0 :(得分:0)

我设法解决了这个问题。在实例化查询时(通过java),我传递一个包含where子句的字符串。条件取决于哪个是真的而不是真假。

而不是:

SELECT * FROM UsedParts WHERE 
HasFrontBumper = 1 OR HasRearBumper = 0 OR HasLeftWindShield = 0 OR HasRightWindShield = 0

或者:

SELECT * FROM UsedParts WHERE 
HasFrontBumper = 1 OR HasRearBumper = 1 OR HasLeftWindShield = 0 OR HasRightWindShield = 0

我会:

SELECT * FROM UsedParts WHERE 
    HasFrontBumper = 1

或者:

SELECT * FROM UsedParts WHERE 
HasFrontBumper = 1 OR HasRearBumper = 1