Bases de Datos > SQL Server

 Sentencia Sql Con Where

<< < (2/2)

alexis salinas:
Podrias crear una funcion que retorno el valor adecuado.
Pero creo que SQL PERSONAL no tiene funciones.

O tambien crear una vista de la tabla que contiene el valor NULL

y hacer la tranformacion del valor null utilizando la instruccion
CASE


SELECT nombre,
   CASE campo_posee_null    WHEN is null then 0
      else
              campo_posee_null
        END AS valor
FROM tabla_xxx
ORDER BY 2
cualquier consulta
as_asar@hotmail.com


Atte
Alexis Salinas r

Alvaro TC:
SELECT H.num_habitacio, H.data_alta, I.nom AS incidencia, H.data_fin,
           E.nom + ' ' + E.cognom1 + ' ' + E.cognom2 AS nombre
FROM    incidencia_habitacio H, incidencia I, treballador E
WHERE  I.codi=H.codi_incidencia AND E.dni=H.dni_treballador
AND      isnull(H.dni_treballador,-1) <> -1;

mateamargo:
Bueno, lo que tenés que hacer es un LEFT JOIN para que te traiga todos los datos (indistintamente de si tienen NULL o no).
La sentencia es la siguiente:


--- Código: Text --- SELECT H.num_habitacio,             H.data_alta,             I.nom AS incidencia,             H.data_fin,             E.nom + ' ' + E.cognom1 + ' ' + E.cognom2 AS nombre FROM    incidencia_habitacio H LEFT JOIN incidencia I ON I.codi=H.codi_incidencia            LEFT JOIN treballador E ON H.dni_treballador = E.dni  
Fijáte si te trae bien los resultados. También podés usar INNER JOIN en caso de que no quieras los nulos, o sino RIGHT JOIN (el orden de las tablas debe ser otro).
Cualquier cosa escribí de nuevo.
Saludos.

Güorker:
HOla,

Si en la Select pones lo siguiente:

SELECT ISNULL(campoTabla,ValorReemplazo) AS NombreColumna

Al devolverte los datos de la tabla, te reemplazará todos los valores NULL de la columna por el valor de reemplazo que le indiques.

EN tu caso podrías poner 'Nadie' para el nombre del empleado.ç

A ver si te sirve de algo. Saludos

mateamargo:

--- Cita de: "Güorker" --- HOla,

Si en la Select pones lo siguiente:

SELECT ISNULL(campoTabla,ValorReemplazo) AS NombreColumna

Al devolverte los datos de la tabla, te reemplazará todos los valores NULL de la columna por el valor de reemplazo que le indiques.

EN tu caso podrías poner 'Nadie' para el nombre del empleado.ç

A ver si te sirve de algo. Saludos
--- Fin de la cita ---
Ojo que la función ISNULL es propia del SQL Server, si usa otro motor no le va a servir.
Saludos.

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa