SQL - FROM referenciando a 2 vistas

   
Vista:

FROM referenciando a 2 vistas

Publicado por P. J. (1 intervención) el 12/06/2009 00:35:49
Saludos, estoy revisando un sistema ya terminado y en produccion. En algunas ocaciones encuentro consultas del sgte modo:

Select *
from vw_ListaPrecios vw_ListaPrecios_S
Where (Estado = 'A') And (anyo = 2009) AND (Mes = 6)

Lo que pude comprobar fue lo sgte:

Al ejecutar las vistas por separado la segunda me arroja mas registros que la primera, pero estando juntas solo me toma los registros de la primera vista.

El campo ESTADO solo pertenece a la 2da vista.

Es primera vez que veo este tipo de consultas, ¿porque se usan?, solo seria para utilizar campos de ambas tablas y mostrando como resultado los registro de la primera?

Espero puedan responderme a esta duda, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:FROM referenciando a 2 vistas

Publicado por Juan Manuel Castañeda (16 intervenciones) el 27/06/2009 01:42:52
Si quiere mostrar campos comunes de ambas vistas debe hacerlo con una consulta de union.
SELECT campo1[,campo2[,campo3[,....]]] FROM VW _ListaPrecios
Where (Estado = 'A') And (anyo = 2009) AND (Mes = 6)
UNION
SELECT campo1[,campo2[,campo3[,....]]] FROM vw_ListaPrecios_S
Where (Estado = 'A') And (anyo = 2009) AND (Mes = 6);

La consulta qye ud. ejecutó ignora la segunda vista pero le devuelve solo los registros de la primer vista.para que le muestre registros de las 2 vists debe separarlas por comas en el FROM y especificar los campos vista.campo para campos con nombres repetidos en ambas vistas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar