1

SQLで次のようなクエリを作成しようとしています:

select * from WorkOrder wo
    where wo.userId = 1
    and wo.isSynced = 0
    and wo.status in ('COMPLETE', 'REJECTED', 'SUSPENDED_NO_ACCESS', 'SUSPENDED_OTHER');

userId、isSynced、およびステータスにインデックスを追加しました。

次のようなクエリを作成すると、2 つの異なるステータス値のみをフィルタリングする限り機能します。3つ以上追加するとすぐに結果が返されません。私は何か間違ったことをしていますか、それともまったく別の方法でこれに取り組む必要がありますか?

//this works
var keyRange = ydn.db.KeyRange.bound([userId, 0, Status.Complete],
            [userId, 0, Status.REJECTED]);
//this doesn't work
var keyRange = ydn.db.KeyRange.bound([userId, 0, Status.Complete],
            [userId, 0, Status.Suspended_AccessUnavailable],
            [userId, 0, Status.REJECTED]);


var iterator = new ydn.db.IndexValueIterator(Store.WorkOrder, 'userId, isSynced, status', keyRange);

return db.values(iterator)
4

1 に答える 1