我希望获得条形码为空或条形码状态为活动状态的ID。条形码状态存储在另一个表中。这是我试过的
SELECT a.id from a
where a.bar=''
OR a.bar=(SELECT b.barcode from b where b.barcode=active)
但是当有一些结果应该到来时,它什么也没给我。我在哪里弄错了?
提前致谢
答案 0 :(得分:1)
SELECT a.id FROM a
WHERE a.bar=''
OR a.bar IN (SELECT b.barcode FROM b WHERE b.barcode='active')
答案 1 :(得分:0)
您可以使用原始查询:
这是它的代码
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));
}
答案 2 :(得分:0)
我猜您的子查询会返回多个记录,所以在这种情况下,您必须使用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')