logo LWP Comunidad de Programadores Suscribete en LWP
LWP >> Foros >> Microsoft SQL Server >> Creacion de una vista especial
Cursos Biblioteca de Temas Preguntas y Respuestas Buscador para Programadores Drivers Solicitudes para Programadores Programas y Utilidades Ofertas de Trabajo

Microsoft SQL Server - Creacion de una vista especial

Volver
Volver
Filtrado por todos los mensajes
Imprimirfacebooktwitter
Vistas:
Mensajes realizados anteriormente (No estaban la última vez que entraste)
 Creacion de una vista especial
Dave (27/01/2012 09:31:25)
116 visitas
4 respuestas
 Creacion de una vista especial
Isaias (27/01/2012 16:15:50)
 Creacion de una vista especial
Pedro (27/01/2012 18:11:48)
 Creacion de una vista especial
Isaias (27/01/2012 19:34:28)
 Creacion de una vista especial
Pedro (27/01/2012 21:18:08)
Asunto:Creacion de una vista especial
Autor:Dave (1 intervención)
Fecha:27/01/2012 09:31:25
Hola!

No tengo mucha experiencia en crear vistas en SQL Server y necesito hacer una un poco especial, os comento:

Tengo la tabla A con la siguiente estructura:

Tiempo-----Marca-----Modelo------AñoFabricación------TIPO------NumeroDocumento
200807-------AC-------------A1---------------2007----------------B-----------------12345
200706-------BC-------------B4---------------2005---------------B------------------12378

y la tabla B con la siguiente estructura:

Tiempo-----Marca-----Modelo------AñoFabricación------TIPO
200807-------C-------------A23---------------2007----------------B
200807-------C-------------A11---------------2007----------------B
200807-------Z-------------A12---------------2007----------------B

Ahora viene la creación de la vista:
Mi vista tiene que tener las columnas de la tabla A y a continuacion tener los registros de la tabla B pero SOLO los que tengan la Marca='C' y como veis llenar el NumeroDocumento con NULL en los registros de la tabla B...

La vista tendría que ser de esta manera:

Tiempo-----Marca-----Modelo------AñoFabricación------TIPO------NumeroDocumento
200807-------AC-------------A1---------------2007----------------B-----------------12345
200706-------BC-------------B4---------------2005---------------B------------------12378
200807-------C-------------A23---------------2007----------------B---------------------NULL
200807-------C-------------A12---------------2007----------------B---------------------NULL


Como puedo hacer esta vista??

Muchas gracias!!
Responder al autor  Subir
Asunto:Creacion de una vista especial
Autor:Isaias (776 intervenciones)
Fecha:27/01/2012 16:15:50
¿Que columnas o campos hacen la referencia entre ambas tablas? (PRIMARY KEY y FOREING KEY)
Comentar el mensaje  Subir
Asunto:Creacion de una vista especial
Autor:Pedro (44 intervenciones)
Fecha:27/01/2012 18:11:48
Hacelo con un Union All , es lo que necesitas.
y el segundo select condicionado por Marca='C'
Comentar el mensaje  Subir
Asunto:Creacion de una vista especial
Autor:Isaias (776 intervenciones)
Fecha:27/01/2012 19:34:28
Pedro

Habria que resolver que la primera tabla, tiene CONCATENADAS en la MARCA, mas de una, ¿cierto?

Se me ocurre un LIKE, no lo se.......
Comentar el mensaje  Subir
Asunto:Creacion de una vista especial
Autor:Pedro (44 intervenciones)
Fecha:27/01/2012 21:18:08
No se Isaias , Dave no habla de que necesite filtrar los registros de la tabla A

La vista segun lo que plantea Dave deberia ser asi con un union , lo unico que no queda claro, es si los registros de la tabla A van o no, yo creeria que si,

Lo que entiendo es que necesita la Tabla A y los regisros de la Tabla B que tienen Marca C

Esto entiendo por lo que pone y quedaria asi

select Tiempo,Marca,Modelo,AñoFabricacion,Tipo,NumeroDocumento from A
UNION ALL
select Tiempo,Marca,Modelo,AñoFabricacion,Tipo,Null NumeroDocumento from B
where Marca = 'C'

Buenno Dave, si no entiendo bien, podrias aclarar la premisa,
Comentar el mensaje  Subir
Nota anteriorCommit transNota siguienteLimitaciones de SQL 2008 Express