I want to create a Y / N flag, where Y indicates that each valid value in each column in a given row is equal, and N otherwise. I need to exclude from consideration any column containing zeros, spaces, or all zeros. Let:
CREATE TABLE z_test (ID INT NOT NULL, D1 VARCHAR(8)NULL, D2 VARCHAR(8)NULL, D3 VARCHAR(8)NULL, D4 VARCHAR(8)NULL, DFLAG CHAR(1)NULL) INSERT INTO z_test VALUES (1,NULL,' ','000000','00000000',NULL) INSERT INTO z_test VALUES (1,'20120101','0000','20120101','00000000',NULL) INSERT INTO z_test VALUES (2,'20100101','20100101','20100101','20100101',NULL) INSERT INTO z_test VALUES (2,'00000000','20090101','0','20090101',NULL) INSERT INTO z_test VALUES (3,'00000000','20090101',NULL,'20120101',NULL) INSERT INTO z_test VALUES (3,'20100101',' ',NULL,'20100101',NULL)
Desired result (excluding D1-D4, although I don't want to throw them):
ID DFLAG --------------- 1 N 1 Y 2 Y 2 Y 3 N 3 Y
The speed is not a concern, since this query will not be run very often, but it is in a rather large table.
Any pointers or suggestions would be greatly appreciated!