SELECT TSR.NAME RESOURCE_NAME , TRB.RESOURCE_BOOKING_ID RESOURCE_BOOKING_ID , TSR.SUPPLIED_RESOURCE_ID SUPPLIED_RESOURCE_ID FROM OTA_SUPPLIABLE_RESOURCES TSR , OTA_RESOURCE_BOOKINGS TRB WHERE TSR.SUPPLIED_RESOURCE_ID = TRB.SUPPLIED_RESOURCE_ID AND TSR.CONSUMABLE_FLAG = 'N' AND 2 <= ( SELECT COUNT(*) FROM OTA_RESOURCE_BOOKINGS TRB2 WHERE TRB.SUPPLIED_RESOURCE_ID = TRB2.SUPPLIED_RESOURCE_ID AND TRUNC(TRB.REQUIRED_DATE_FROM) BETWEEN TRUNC(TRB2.REQUIRED_DATE_FROM) AND TRUNC(TRB2.REQUIRED_DATE_TO) AND TRUNC(TRB.REQUIRED_DATE_TO) BETWEEN TRUNC(TRB2.REQUIRED_DATE_FROM) AND TRUNC(TRB2.REQUIRED_DATE_TO) ) AND TSR.BUSINESS_GROUP_ID = NVL(OTA_GENERAL.GET_BUSINESS_GROUP_ID , TSR.BUSINESS_GROUP_ID) UNION SELECT TSR.NAME RESOURCE_NAME , TRB.RESOURCE_BOOKING_ID RESOURCE_BOOKING_ID , TSR.SUPPLIED_RESOURCE_ID SUPPLIED_RESOURCE_ID FROM OTA_SUPPLIABLE_RESOURCES TSR , OTA_RESOURCE_BOOKINGS TRB WHERE TSR.SUPPLIED_RESOURCE_ID = TRB.SUPPLIED_RESOURCE_ID AND TSR.CONSUMABLE_FLAG = 'N' AND 2 <= ( SELECT COUNT(*) FROM OTA_RESOURCE_BOOKINGS TRB1 WHERE TRB.SUPPLIED_RESOURCE_ID = TRB1.SUPPLIED_RESOURCE_ID AND TRUNC(TRB1.REQUIRED_DATE_FROM) BETWEEN TRUNC(TRB.REQUIRED_DATE_FROM) AND TRUNC(TRB.REQUIRED_DATE_TO) AND TRUNC(TRB1.REQUIRED_DATE_TO) BETWEEN TRUNC(TRB.REQUIRED_DATE_FROM) AND TRUNC(TRB.REQUIRED_DATE_TO) ) AND TSR.BUSINESS_GROUP_ID = NVL(OTA_GENERAL.GET_BUSINESS_GROUP_ID , TSR.BUSINESS_GROUP_ID) WITH READ ONLY