Bases de Datos > SQL Server
Sentencia Sql Con Where
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
[*] Página Anterior
Ir a la versión completa