CREATE TABLE test_table ( e_id NUMBER(10), e_value NUMBER(10) ); INSERT INTO test_table VALUES(11,123); INSERT INTO test_table VALUES(11,123); INSERT INTO test_table VALUES(11,null); COMMIT;
I want to fetch single record from the table test_table
if any one of the value is null
in the column e_value
then it should print No
else Yes
My Attempt:
SELECT e_id, CASE WHEN e_value IS NULL THEN 'No' ELSE 'Yes' END is_answer FROM test_table;
Current Output:
+------+-----------+ | e_id | is_answer | +------+-----------+ | 11 | Yes | | 11 | Yes | | 11 | No | +------+-----------+
Expected Output:
+------+-----------+ | e_id | is_answer | +------+-----------+ | 11 | No | +------+-----------+
Advertisement
Answer
you can use GROUP BY
and COUNT
:
SELECT e_id, CASE WHEN count(e_id) = count(e_value) THEN 'Yes' ELSE 'No' END is_answer FROM test_table GROUP BY e_id;
The count will return number of non-null values
db<>fiddle here