[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