Я не уверен на 100%, что вы пытаетесь сделать, но я бы предложил открыть два отдельных курсора, назовем их A и B. Я предполагаю, что A - это внешняя итерация, а B - внутренняя.итерация.Начните с итерации курсора A (установите начальное положение курсора и перейдите в цикл «getnext»).Для каждой записи, получаемой из A, установите начальную позицию курсора для курсора B и выполняйте итерацию до тех пор, пока не увидите нужные записи из B. Затем перейдите к следующему A, вспенивайте, промывайте и повторяйте.
Вы также можете задать этот вопрос (с некоторыми дополнительными подробностями) на форуме Berkeley DB .