Consulta sobre select

04/08/2004 - 14:49 por Ricardo L. Calvo | Informe spam
Hola a todos, estoy empezando con el lenguaje y me encuentro con problemas q
supongo son basicos.

Ejemplo: tengo dos tablas, A con 5 registros y B con 2, los 2 registros de B
estan contenidos en A.
Entonces hago un lef outer join de A hacia B y me quedo con lo que necesito,
hasta aca todo bien pero necesito tambien en el conjunto resultado un campo
que surge como la resta de una columna numerica de A y otra de B, en ese
caso esa columna solo trae valores cuando hay un registro en B y para el
resto me viene null.

A_1 A_2
a 10
b 20
c 15
d 30
f 20

B_1 B_2
b 5
d 10

Resultado esperado de A_2 - B_2 :

a 10
b 15
c 15
d 20
f 20

Resultado obtenido

a null
b 15
c null
d 20
f null

Se puede resolver la consulta en la misma instrucción select o deberé
hacerlo en mas de una ?

Muchas gracias por su tiempo
 

Leer las respuestas

#1 Carlos Sacristan
04/08/2004 - 14:58 | Informe spam
Mira en los BOL la sintaxis de la función ISNULL. Con ella puedes
sustituir el valor de un campo cuando su contenido es NULL por lo que tú
necesites. En este caso, como quieres una resta, tendrías que sustituirlo
por 0: ISNULL(tuCampo,0)


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Ricardo L. Calvo" escribió en el mensaje
news:#
Hola a todos, estoy empezando con el lenguaje y me encuentro con problemas


q
supongo son basicos.

Ejemplo: tengo dos tablas, A con 5 registros y B con 2, los 2 registros de


B
estan contenidos en A.
Entonces hago un lef outer join de A hacia B y me quedo con lo que


necesito,
hasta aca todo bien pero necesito tambien en el conjunto resultado un


campo
que surge como la resta de una columna numerica de A y otra de B, en ese
caso esa columna solo trae valores cuando hay un registro en B y para el
resto me viene null.

A_1 A_2
a 10
b 20
c 15
d 30
f 20

B_1 B_2
b 5
d 10

Resultado esperado de A_2 - B_2 :

a 10
b 15
c 15
d 20
f 20

Resultado obtenido

a null
b 15
c null
d 20
f null

Se puede resolver la consulta en la misma instrucción select o deberé
hacerlo en mas de una ?

Muchas gracias por su tiempo




Preguntas similares