Vaya, creía que te había mandado otro post contestanto y ha sido que no..
Mira
gluglu creo que esto que te voy a poner, te debería funcionar independientemente del número de registros que haya en la búsqueda... prueba y me cuentas:
Código SQL
[-]
FOR Select BOJ.BOOKINGNO
from BOOKINGS_OBJECTS BOJ
left join BOOKINGS BO
on BO.BOOKINGNO = BOJ.BOOKINGNO
where
BOJ.BUILDINGNO = :"BUILDING_NO" and
BOJ.OBJECTNO = :"OBJECT_NO" and
BOJ.DATETO <= :"DATE_SP" and
BO.STATUS = 3
Into :BOOK_NO
DO
if (:BOOK_NO is NOT Null) then
SUSPEND;
else begin
FOR Select BOJ2.BOOKINGNO
from BOOKINGS_OBJECTS BOJ2
left join BOOKINGS BO2
on BO2.BOOKINGNO = BOJ2.BOOKINGNO
where
BOJ2.BUILDINGNO = :"BUILDING_NO" and
BOJ2.OBJECTNO = :"OBJECT_NO" and
BOJ2.DATEFROM <= :"DATE_SP" and
BOJ2.DATETO >= :"DATE_SP" and
BO2.STATUS <= 2
Into :BOOK_NO
DO
SUSPEND;