1

我想获取条形码为空或条形码状态处于活动状态的东西的 id。条形码状态存储在另一个表中。这是我尝试过的

SELECT a.id from a 
       where a.bar='' 
          OR a.bar=(SELECT b.barcode from b where b.barcode=active)

但是当有一些结果应该出现时,它什么也没给我。我在哪里犯错了?

提前致谢

4

3 回答 3

1
SELECT a.id FROM a 
       WHERE a.bar=''  
          OR a.bar IN (SELECT b.barcode FROM b WHERE b.barcode='active')
于 2013-08-15T04:44:25.163 回答
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));

}
于 2013-08-15T05:37:42.200 回答
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')
于 2013-08-15T07:35:07.897 回答