我想获取条形码为空或条形码状态处于活动状态的东西的 id。条形码状态存储在另一个表中。这是我尝试过的
SELECT a.id from a
where a.bar=''
OR a.bar=(SELECT b.barcode from b where b.barcode=active)
但是当有一些结果应该出现时,它什么也没给我。我在哪里犯错了?
提前致谢
SELECT a.id FROM a
WHERE a.bar=''
OR a.bar IN (SELECT b.barcode FROM b WHERE b.barcode='active')
您可以使用原始查询:
这是它的代码
Cursor getData(String a){
return db.rawQuery(SELECT a.id from a where a.bar='' OR a.bar=(SELECT b.barcode from b where b.barcode=active));
}
我猜您的子查询返回多个记录,因此在这种情况下您必须使用IN
而不是=
. 另外我猜b.barcode
是一个 varchar 字段,所以你应该使用一个 varchar 常量'active'
SELECT a.id from a
where a.bar=''
OR a.bar IN (SELECT b.barcode from b where b.barcode='active')