Команда SQL не выполняется должным образом, когда в реагирующем-sqlite-хранилище.Вот сама команда:
WITH attempted_questions AS (SELECT question_id, LEAD(created_date) OVER (PARTITION BY question_id ORDER BY created_date ASC) as next_created_date, correct FROM user_answers), latest_incorrect_questions AS ( SELECT question_id FROM attempted_questions WHERE correct = 0 AND next_created_date IS NULL ), bank_questions AS (SELECT q.* FROM Questions AS q INNER JOIN latest_incorrect_questions AS liq ON liq.question_id = q.id) SELECT * FROM bank_questions
Я попытался запустить ее в «Браузере БД для SQLite», и она работает без нареканий.Тем не менее, он не работает при использовании response-native-sqlite-storage.Код представлен ниже.FIY: сама функция работает правильно (она прекрасно работает при использовании простых команд, таких как «SELECT * FROM Questions»).
function fetchDATA() {
return new Promise((resolve, reject) => {
db.transaction(function (txn) {
txn.executeSql(
'WITH attempted_questions AS (SELECT question_id, LEAD(created_date) OVER (PARTITION BY question_id ORDER BY created_date ASC) as next_created_date, correct FROM user_answers), latest_incorrect_questions AS ( SELECT question_id FROM attempted_questions WHERE correct = 0 AND next_created_date IS NULL ), bank_questions AS (SELECT q.* FROM Questions AS q INNER JOIN latest_incorrect_questions AS liq ON liq.question_id = q.id) SELECT * FROM bank_questions',
[],
(txn, results) => {
resolve(results)
});
});
})
}
Учитывая, что функция и команда SQL работают сами по себе, я ожидаю, что онитакже работать вместе.Однако это не так.Может кто-нибудь помочь мне с этим вопросом?