So Count the transactions before there was a void?Create table TRANS_TABLE (MASTER_CODE int not null,TRANS_CODE int not null,TRANS_ID char(6) not null,TRANS_DATE datetime not null,IS_VOIDED char(1) not null)GOInsert into TRANS_TABLESelect 123456, 56988, 'LOAN','15-NOV-10 19:41:39', 'N' UNIONSelect 123456, 56989, 'PAYOFF', '30-NOV-10 19:44:45', 'N' UNIONSelect 123456, 56990, 'PAYOFF', '30-NOV-10 19:47:45', 'N' UNIONSelect 123456, 56991, 'PAYOFF', '30-NOV-10 19:58:47', 'Y'UNIONSelect 123456, 56992, 'PAYOFF', '30-NOV-10 20:01:18', 'N'--get list of ID's applicable..SELECT DISTINCT MASTER_CODEFROM TRANS_TABLE WHERE TRANS_ID = 'PAYOFF' AND IS_VOIDED = 'N'AND EXISTS( Select MASTER_CODE FROM TRANS_TABLE WHERE IS_VOIDED = 'Y')-- get every record for prior to voided dateSELECT DISTINCT TRANS_TABLE.*FROM TRANS_TABLE INNER JOIN (Select MASTER_CODE,TRANS_DATE FROM TRANS_TABLE WHERE IS_VOIDED ='Y') VOIDS on TRANS_TABLE.MASTER_CODE = VOIDS.MASTER_CODEWHERE TRANS_ID = 'PAYOFF' AND IS_VOIDED = 'N'AND TRANS_TABLE.TRANS_DATE < VOIDS.TRANS_DATEAND EXISTS( Select MASTER_CODE FROM TRANS_TABLE WHERE IS_VOIDED = 'Y')--do it as a count insteadSELECT DISTINCT TRANS_TABLE.MASTER_CODE,COUNT(*)FROM TRANS_TABLE INNER JOIN (Select MASTER_CODE,TRANS_DATE FROM TRANS_TABLE WHERE IS_VOIDED ='Y') VOIDS on TRANS_TABLE.MASTER_CODE = VOIDS.MASTER_CODEWHERE TRANS_ID = 'PAYOFF' AND IS_VOIDED = 'N'AND TRANS_TABLE.TRANS_DATE < VOIDS.TRANS_DATEAND EXISTS( Select MASTER_CODE FROM TRANS_TABLE WHERE IS_VOIDED = 'Y')GROUP BY TRANS_TABLE.MASTER_CODE
Poor planning on your part does not constitute an emergency on my part.