我为销售新车/二手车的汽车经销商创建了一个数据库。我有两张桌子。一个( CarInfo )包含有关汽车的所有信息(Id,品牌,年份,isUsed等)和另一个( UsedParts ),其中包含哪些部件可用于所有二手车。 UsedParts 表由位和外键组成( CarInfo' s Id )。
我尝试构建一个从 UsedParts 中选择所有内容的查询,其中至少完成了多个条件。
一个例子是,如果我运行此查询并且 HasFrontBumper = 1 ,它应该返回所有具有1的行。换句话说,应该返回两行而不是所有行。另一个例子是 HasRearBumper = 1 和 HasLeftWindshield = 1 它应该返回两行。
这是我迄今为止所尝试过的......
查询: (请记住;以&#34开头的所有内容都有",它的数据类型是)
SELECT * FROM UsedParts WHERE
HasFrontBumper = 1 OR HasRearBumper = 0 OR HasLeftWindShield = 0 OR HasRightWindShield = 0
尝试了与AND
和OR
不同的组合,但仍然没有按照我想要的方式工作
答案 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