By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
select version();
version() |
---|
5.7.29 |
create table SAMPLE(ID INT, SAL VARCHAR(20));
INSERT INTO SAMPLE VALUES(1,1000);
INSERT INTO SAMPLE VALUES(1,2000);
INSERT INTO SAMPLE VALUES(2,'3000');
INSERT INTO SAMPLE VALUES(2,'1200');
INSERT INTO SAMPLE VALUES(3,NULL);
INSERT INTO SAMPLE VALUES(3,'MYTEXT');
INSERT INTO SAMPLE VALUES(3,500);
INSERT INTO SAMPLE VALUES(4,'MYTEXT2');
INSERT INTO SAMPLE VALUES(4,'MYTEXT3');
INSERT INTO SAMPLE VALUES(4,10.2);
INSERT INTO SAMPLE VALUES(5,NULL);
INSERT INTO SAMPLE VALUES(5,NULL);
select ID,
CASE WHEN
MAX(CASE WHEN SAL REGEXP ('^[0-9]+$') THEN SAL ELSE 'N/A' END) !='N/A'
THEN
SUM(SAL)
ELSE 'NOT SUMMABLE' END AS MYRESULT
FROM SAMPLE
GROUP BY ID
ID | MYRESULT |
---|---|
1 | 3000 |
2 | 4200 |
3 | NOT SUMMABLE |
4 | NOT SUMMABLE |
5 | NOT SUMMABLE |