Как использовать Union в Android - PullRequest
1 голос
/ 31 декабря 2011

Я новичок в разработке приложений для 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 столбец 3 не удалось

Я полностью застрял в этом и запутался, неверен ли мой запрос или неправильные методы доступа?

1 Ответ

1 голос
/ 31 декабря 2011

Вы идете не в ту сторону. Это простое решение с запросом на соединение по двум таблицам

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...