<div>Hola Gastón, no termino de captar la idea de cual es tu objetivo para crear la vista.<br></div><div>De todas maneras, no creo que lo que comenta Gilberto te sirva dado que en realidad termina haciendo un producto cartesiano entre ambas tablas, lo cual pocas veces es lo deseado.</div>

<div><br></div><div>Donde decís "<strong>Entonces mi consulta es "Como puedo hacer para tomar el campo de uno u otra tabla según corresponda".</strong>", ¿cuál sería la forma de decidir si corresponde el campo de una u otra tabla?</div>

<div><br></div><div><br></div><div>Suponiendo que en la tabla de propiedades tenés los siguientes campos: id_propiedad, capacidad, cantidad, dimensiones.</div><div>Mientras que en la tabla de subpropiedades tenés: id_propiedad, id_subpropiedad, capacidad, cantidad, dimensiones.</div>

<div><br></div><div>Una vista que podría serte útil (sin saber realmente lo que necesitás) sería la que utiliza la siguiente consulta.</div><div><br></div><div> SELECT<br>   p.id_propiedad AS 'propiedad',<br>   '' AS 'subpropiedad',<br>

   (SELECT SUM(capacidad) FROM tab_subpropiedades WHERE id_propiedad = p.id_propiedad) AS 'capacidad calculada',<br>  p.capacidad AS 'capacidad',<br>   p.cantidad AS 'cantidad',<br>   p.dimensiones<br>

 FROM<br>   tab_propiedades AS p,<br>UNION</div><div>SELECT</div><div>   s.id_propiedad AS 'propiedad',<br>   s.id_subpropiedad AS 'subpropiedad',<br>  s.capacidad AS 'capacidad calculada',<br>  s.capacidad AS 'capacidad',<br>

   s.cantidad AS 'cantidad',<br>   s.dimensiones</div><div>FROM</div><div>  tab_subpropiedades AS s<br></div><div><br></div><div><br></div><div>Con esta consulta lo que lograrás será mostrar el id_propiedad, el id_subpropiedad (solo cuando se trate de una subpropiedad), la capacidad calculada de una propiedad como suma de las capacidades de todas sus subpropiedades, etc.</div>

<div><br></div><div>Acá tendrás un registro por cada propiedad y por cada subpropiedad. Aplicándole un ORDER BY por id_propiedad y por id_subpropiedad ASC tendrás primero una propiedad y luego sus subpropiedades (en caso de haberlas) y luego otra propiedad y su respectivas subpropiedades hasta acabar el listado.</div>

<div><br></div><div><br></div><div>También te podría ser útil averiguar sobre la función DECODE(in,c1,v1,c2,v2,....,cN,vN,[vD]) que dado un valor in devolverá v1,v2,...,vN en caso de que el primero de c1,c2,...,cN sea igual a in, vD en caso de no coincidir con ninguno.</div>

<div><br></div><div>Pero como decía al principio, no entiendo realmente que es lo que estás buscando, asi que no puedo ayudarte mucho mas de momento.</div><div><br></div><div><br></div><div>Saludos</div><br><div class="gmail_quote">

El 18 de abril de 2011 16:25, Gilberto Cuba Ricardo <span dir="ltr"><<a href="mailto:gilberto.cuba@ucp.ho.rimed.cu">gilberto.cuba@ucp.ho.rimed.cu</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Gastón Borysiuk escribió:<br>
<br>
> Hola Gente<br>
<br>
Hola Gastón,<br>
<div class="im"><br>
> Tengo armada una base de datos en el trabajo que tiene que ver con<br>
> propiedades.<br>
<br>
> Es una DB relacional, el problema es que quiero crear una vista en base<br>
> a 2 tablas.<br>
<br>
> Por un lado la tabla de `propiedades` y por otro la de `subpropiedades`.<br>
<br>
> Me pidieron diferentes cosas para ordenarlos por campo etc, a su vez<br>
> esto está relacionado con stock y con precios.<br>
<br>
> Dije, bueno perfecto hago una vista que me englobe ambas tablas y<br>
> soluciono el problema.<br>
<br>
> Ahora me encuentro con un dilema :D y es donde apunta mi problema.<br>
<br>
</div>Bueno, trataremos de ayudarte aunque no me considero especialista en<br>
el tema. :)<br>
<div class="im"><br>
> Tengo algunos campos como por ej `Capacidad`, `cantidad` `dimensiones`<br>
> etc tanto en la tabla propiedades como en la tabla subpropiedades.<br>
<br>
> Entonces mi consulta es "Como puedo hacer para tomar el campo de uno u<br>
> otra tabla según corresponda".<br>
<br>
</div>Veamos, supongamos que vamos a hacer algo contextualizado a lo que<br>
dices; a forma de ejemplo sería:<br>
<br>
CREATE VIEW vista_propiedades AS<br>
  SELECT<br>
    t1.capacidad,<br>
    t2.capacidad,<br>
    t1.capacidad+t2.capacidad AS capacidad_total,<br>
    t1.cantidad,<br>
    t2.cantidad,<br>
    t1.dimensiones<br>
  FROM<br>
    tab_propiedades AS t1,<br>
    tab_subpropiedades AS t2<br>
<br>
En nuestro ejemplo luego del FROM he puesto los nombres de las tablas<br>
y a continuación con "AS" les doy un alias (t1, para la tabla<br>
'propiedades' y t2, para la tabla 'subpropiedades'). Con esto ya me<br>
ahorro estar escribiendo tanto en el SELECT, y entonces para referirmo<br>
al campo capacidad de la tabla propiedades sería: t1.capacidad; y así<br>
sucesivamente con los que he puesto.<br>
<br>
SELECT * FROM vista_propiedades<br>
<br>
Luego seleccionamos la vista que hemos creado y listo.<br>
<div class="im"><br>
> Otra cosa a tener en cuenta, `propiedades` viene a ser la tabla<br>
> principal y `subpropiedades` es la que depende de `propiedades` en<br>
> cuanto a relación.<br>
<br>
> Yo la vista la creo desde `subpropiedades` por que pueden haber mas de<br>
> una subpropiedad por cada propiedad.<br>
<br>
</div><div class="im">> Desde ya muchas gracias y saludos!<br>
<br>
</div>--<br>
Saludos,<br>
<font color="#888888"> Gilberto Cuba Ricardo<br>
</font><div><div class="h5"><br>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</div></div></blockquote></div><br>