如何在Android中使用Union

时间:2011-12-31 05:14:46

标签: android sqlite

我是Android应用程序开发的新手 我像那样使用UNION查询

public Cursor getAll() {
        return (getReadableDatabase()
                .rawQuery(
                        "SELECT _id,x,y from Not where _id="
                                + id
                                + " UNION ALL " + "SELECT _id,z,q from Q_A where z="
                                + zid, null));
    }

    public String getX(Cursor c) {
        return (c.getString(1));
    }

    public String getY(Cursor c) {
        return (c.getString(2));
    }
    public String getQ(Cursor c) {
        return (c.getString(3));
    }

它会给出错误

IllegalStateException:从第0行col 3获取字段槽

我完全坚持这一点并且对我的查询是错误还是访问方法错误感到困惑?

1 个答案:

答案 0 :(得分:1)

你走错了路。 这是一个简单的解决方案,包含两个表的连接查询

SELECT a._id, a.x, a.y, b._id, b.z, b.q 
FROM Not a, Q_A b 
WHERE a._id = id 
AND b.z = zid
a.comId = b.refId