¿La pregunta es referente a un caso en concreto o quieres una solución genérica?
Si es para el caso en concreto, simplemente especifica que campos quieres ver en la query:
select cod, nombre, campo1, campo2, campo3 from items
de lo contrario, si quieres algo genérico, no es possible, no puedes decirle que parecerca o no una columna en función de los datos. Recuerda que sql funciona por filas/datos/valores, dile como quieras, pero en resumen, tu le pides algo, y el te muestra, que datos coinciden con tu petición. Es decir, no puedes hacer un, select, que si una columna todos los valores son null, no te muestre la columna, lo mas que puedes hacer con los null, es poner un texto personalizado. con la función ifnull() nvl() o isnull() (la que te sirva dependerá de que base de datos utilices) poniendo:
select cod, nombre, campo1, campo2, campo3, NVL(campo4, 'sin datos') from items
Lo que te mostraría:
cod | nombre | campo1 | campo 2 | campo 3 | campo 4 |
01 | xxxx | xxxxx | xxxxxxx | xxxxxxxx | sin datos |
02 | xxxxx | xxx | xxxxxxx | NULL | sin datos |
03 | xx | xxxxx | xxxxx | NULL | sin datos |
Espero ayudarte, aunque sea diciéndote que no puedes hacerlo si lo que querías era lo segundo.