[C con Clase] [MySQL] Duda al generar Vista en MySQL
Gilberto Cuba Ricardo
gilberto.cuba en ucp.ho.rimed.cu
Lun Abr 18 21:25:16 CEST 2011
Gastón Borysiuk escribió:
> Hola Gente
Hola Gastón,
> Tengo armada una base de datos en el trabajo que tiene que ver con
> propiedades.
> Es una DB relacional, el problema es que quiero crear una vista en base
> a 2 tablas.
> Por un lado la tabla de `propiedades` y por otro la de `subpropiedades`.
> Me pidieron diferentes cosas para ordenarlos por campo etc, a su vez
> esto está relacionado con stock y con precios.
> Dije, bueno perfecto hago una vista que me englobe ambas tablas y
> soluciono el problema.
> Ahora me encuentro con un dilema :D y es donde apunta mi problema.
Bueno, trataremos de ayudarte aunque no me considero especialista en
el tema. :)
> Tengo algunos campos como por ej `Capacidad`, `cantidad` `dimensiones`
> etc tanto en la tabla propiedades como en la tabla subpropiedades.
> Entonces mi consulta es "Como puedo hacer para tomar el campo de uno u
> otra tabla según corresponda".
Veamos, supongamos que vamos a hacer algo contextualizado a lo que
dices; a forma de ejemplo sería:
CREATE VIEW vista_propiedades AS
SELECT
t1.capacidad,
t2.capacidad,
t1.capacidad+t2.capacidad AS capacidad_total,
t1.cantidad,
t2.cantidad,
t1.dimensiones
FROM
tab_propiedades AS t1,
tab_subpropiedades AS t2
En nuestro ejemplo luego del FROM he puesto los nombres de las tablas
y a continuación con "AS" les doy un alias (t1, para la tabla
'propiedades' y t2, para la tabla 'subpropiedades'). Con esto ya me
ahorro estar escribiendo tanto en el SELECT, y entonces para referirmo
al campo capacidad de la tabla propiedades sería: t1.capacidad; y así
sucesivamente con los que he puesto.
SELECT * FROM vista_propiedades
Luego seleccionamos la vista que hemos creado y listo.
> Otra cosa a tener en cuenta, `propiedades` viene a ser la tabla
> principal y `subpropiedades` es la que depende de `propiedades` en
> cuanto a relación.
> Yo la vista la creo desde `subpropiedades` por que pueden haber mas de
> una subpropiedad por cada propiedad.
> Desde ya muchas gracias y saludos!
--
Saludos,
Gilberto Cuba Ricardo
Más información sobre la lista de distribución Cconclase