Actualmente tengo una declaración de selección que verifica varias columnas para ver si tienen datos. si alguno de ellos es nulo, entonces quiero un bit establecido en falso. si ninguno de ellos es nulo, entonces quiero un poco establecido en verdadero. Esto es lo que tengo actualmente:determine si los valores son nulos, si son verdaderos y luego son falsos, de lo contrario son verdaderos
select
cast(
case when ChangeOrderNumber is null then 0 else 1 end *
case when ClientName is null then 0 else 1 end *
case when QuoteNumber is null then 0 else 1 end *
case when ClientNumber is null then 0 else 1 end *
case when ServiceLine is null then 0 else 1 end *
case when ServiceLineCode is null then 0 else 1 end *
case when GroupLeader is null then 0 else 1 end *
case when CreatedBy is null then 0 else 1 end *
case when PTWCompletionDate is null then 0 else 1 end *
case when BudgetedHours is null then 0 else 1 end *
case when BudgetDollars is null then 0 else 1 end *
case when InternalDeadlineDate is null then 0 else 1 end *
case when ProjectDescription is null then 0 else 1 end *
case when Sales is null then 0 else 1 end *
case when Coop is null then 0 else 1 end *
case when PassThrough is null then 0 else 1 end *
case when POStatus is null then 0 else 1 end *
case when PONumber is null then 0 else 1 end as bit
)
as Flag
from t
ahora, funciona ese código, pero es un poco largo, me preguntaba si alguien sabía de una mejor manera de hacer esto. tenga en cuenta que se están verificando varios tipos de datos.
más detalles: este código está en una vista que se está mirando en una aplicación para procesar órdenes de cambio. antes de que se pueda procesar una orden de cambio, debe cumplir con algunos controles de calidad de datos. esta vista muestra si alguno de los datos requeridos es nulo.
Vamos David ... ¿no sabe cómo hacer esto: P – SQLMenace