I think this is what you are after (gives the number of non-null values in the same record):
SELECT ID,Field1,Field2,
(CASE WHEN Field1 IS NOT NULL THEN 1 ELSE 0 END)+
(CASE WHEN Field2 IS NOT NULL THEN 1 ELSE 0 END) as Field4
FROM TableName
Result:
ID FIELD1 FIELD2 FIELD4
1 4 2 2
2 5 (null) 1
3 6 7 2