在android中使用SQLite数据库表从同一个表中计算两个不同的列值

在android中使用SQLite数据库表从同一个表中计算两个不同的列值,sqlite,android-sqlite,Sqlite,Android Sqlite,我试图从同一个表中选择多个值。我需要从posts表中选择列rfid和process_status的计数值,并从stations表中选择station_标题 以下是两张表格: 员额表: 但这给出了错误的输出,如: 总RFID:3这是错误的!! 待决总数:3 电台标题:nfc电台01要计算与条件匹配的行数,请在布尔表达式上使用SUM: SELECT COUNT(*) AS TotalTap, SUM(process_status = 'pending') AS TotalPending

我试图从同一个表中选择多个值。我需要从posts表中选择列rfid和process_status的计数值,并从stations表中选择station_标题

以下是两张表格:

员额表:

但这给出了错误的输出,如: 总RFID:3这是错误的!! 待决总数:3
电台标题:nfc电台01要计算与条件匹配的行数,请在布尔表达式上使用SUM:

SELECT COUNT(*) AS TotalTap,
       SUM(process_status = 'pending') AS TotalPending
FROM Posts
WHERE ownerId = 107
  AND stationId = 'raj1222681607';
在同一个查询中尝试计算第三个值是没有意义的;只需使用一个单独的、简单得多的查询:

SELECT title
FROM Stations
WHERE stationId = 'raj1222681607';
Android在这方面有一个优势:

字符串标题=DatabaseUtils.stringForQuerydb, 从stationId=?,的电台中选择标题?, 新字符串[]{raj1222681607};
嗨,CL,谢谢你的更正。进程状态值为字符串格式。那么sum将是一个好的选择?我需要从一个db函数调用中获取所有这些信息。因此,我还需要获取标题值。表达式process_status='pending'的值为0或1。我的查询是:选择COUNTp.rfid作为TotalTap,从posts p中选择COUNTp.process_status,其中p.ownerId=?和p.stationId=?和p.process_status=?作为TotalPending,p.stationId=s.stationId上的p个内部连接站的s.title,其中p.ownerId=107,p.stationId='raj1222681607'和p.process_status='pending';但我无法从游标调用中获取这些值。这是另一个查询。 Total RFIDs : 5 Total Pending : 3 Station Title : nfc station 01
  SELECT
        COUNT(p.rfid) as TotalTap,
        COUNT(p.process_status) as TotalPending,
        s.title
    FROM posts p
    inner join
    stations s
    on p.stationId = s.stationId
    WHERE
    p.ownerId = 107 AND p.stationId = 'raj1222681607'
    AND p.process_status = 'pending';
SELECT COUNT(*) AS TotalTap,
       SUM(process_status = 'pending') AS TotalPending
FROM Posts
WHERE ownerId = 107
  AND stationId = 'raj1222681607';
SELECT title
FROM Stations
WHERE stationId = 'raj1222681607';