>>> >>> WHERE b.control_no in ; >>> (SELECT towfky FROM redeem WHERE redeem.dredeemdat>= {01/01/2014} AND redeem.dredeemdat<= {12/31/2014}) ; >>> >>>>>>
CREATE CURSOR ca (i1 c(1) NULL, d1 DATE) INSERT INTO ca VALUES ("1", DATE()) INSERT INTO ca VALUES ("2", {}) CREATE CURSOR cb (i2 c(1) NULL,i3 c(1), i4 D) INSERT INTO cb VALUES ("1","A", DATE()) INSERT INTO cb VALUES ("1","A", {}) INSERT INTO cb VALUES ("2","B", {}) INSERT INTO cb VALUES ("","C", {}) *no record C BUT record A with empty date SELECT * FROM cb WHERE i2 IN (SELECT i1 FROM ca WHERE d1<=DATE()+1 AND d1>=DATE()-1) *no record C BUT record A with empty date INSERT INTO ca VALUES ("", {..}) SELECT * FROM cb WHERE i2 IN (SELECT i1 FROM ca WHERE d1<=DATE()+1 AND d1>=DATE()-1) *record C AND record A with empty date INSERT INTO ca VALUES ("", DATE()) SELECT * FROM cb WHERE i2 IN (SELECT i1 FROM ca WHERE d1<=DATE()+1 AND d1>=DATE()-1) *record ca with null INSERT INTO ca VALUES (.NULL., DATE()) SELECT * FROM cb WHERE i2 IN (SELECT i1 FROM ca WHERE d1<=DATE()+1 AND d1>=DATE()-1) *record ca with null, wrong date INSERT INTO ca VALUES (.NULL., {}) SELECT * FROM cb WHERE i2 IN (SELECT i1 FROM ca WHERE d1<=DATE()+1 AND d1>=DATE()-1) *record ca with null, right date INSERT INTO ca VALUES (.NULL., DATE()) SELECT * FROM cb WHERE i2 IN (SELECT i1 FROM ca WHERE d1<=DATE()+1 AND d1>=DATE()-1) *record cb with null INSERT INTO cb VALUES (.null.,"N", DATE()-3) SELECT * FROM cb WHERE i2 IN (SELECT i1 FROM ca WHERE d1<=DATE()+1 AND d1>=DATE()-1)Null will do nothing