我为一家销售新车/二手车的汽车经销商建立了一个分号。我有两张桌子。一个(CarInfo)拥有关于汽车的所有信息(Id、品牌、年份、isUsed等)和another(UsedParts),其中包含哪些部件可供所有二手车使用。UsedParts表由位和外键(CarInfo的Id)组成。
我正在构建一个从UsedParts中选择all的查询,其中至少完成了一个多条件。
这是我需要查询的列的一个例子:

一个例子是,如果我运行这个查询并且HasFrontBumper = 1,它应该返回包含1的所有行,换句话说,应该返回两行而不是所有行。另一个例子是,如果HasRearBumper = 1和HasLeftWindshield = 1,则应该返回两行。
这就是我迄今尝试过的..。
查询:(记住,以"has“开头的所有内容,它的数据类型都是位的)
SELECT * FROM UsedParts WHERE
HasFrontBumper = 1 OR HasRearBumper = 0 OR HasLeftWindShield = 0 OR HasRightWindShield = 0尝试了与AND和OR的不同组合,但仍然没有按照我想要的方式工作
发布于 2016-07-26 20:14:55
我设法解决了。在实例化查询时(通过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 = 1https://stackoverflow.com/questions/38579321
复制相似问题