Hola Gaston, <div><br><div>por aqui puedo contestar? , nunca habia usado la lista xD, estoy haciendo como un reply a los mails que me llegan =S<div><br></div><div>mira talvez lo que preguntas es como mostrar a veces el campo de una tabla y a veces el campo de otra, en una misma columna de la vista, si no es asi esto no te servira, pero si si , pues si jaajja XD</div>
<div><br></div><div>mira</div><div><br></div><div><span class="Apple-style-span" style="color: rgb(85, 85, 85); font-family: verdana, arial, helvetica, sans-serif; font-size: 14px; line-height: 14px; "><pre class="programlisting" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 2px; padding-right: 2px; padding-bottom: 2px; padding-left: 2px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(238, 238, 238); color: black; font-family: 'courier new', courier, fixed, monospace; display: block; max-width: 720px; line-height: 20px; ">
SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END;</pre></span><div><br></div>de</div><div><a href="http://dev.mysql.com/doc/refman/5.0/es/control-flow-functions.html">http://dev.mysql.com/doc/refman/5.0/es/control-flow-functions.html</a></div>
<div><br></div><div>digamos </div><div>------------------------------------------------------------------------------------------------</div><div>select case when (alguna condicion booleana) then principal.propiedades else subtabla.propiedades end ;</div>
<div>------------------------------------------------------------------------------------------------</div><div><br></div><div>o talvez le agregas el 'as'</div><div>------------------------------------------------------------------------------------------------</div>
<div>select case when (alguna condicion booleana) </div><div>             then </div><div>                principal.propiedades </div><div>             else </div><div>                subtabla.propiedades </div><div>          end <b>as propiedades</b> ;</div>
------------------------------------------------------------------------------------------------</div><div><br></div><div>Saludos xD</div><div><br><div class="gmail_quote">2011/4/30 Mariano Demarchi <span dir="ltr"><<a href="mailto:marchi.hh@gmail.com">marchi.hh@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><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" target="_blank">gilberto.cuba@ucp.ho.rimed.cu</a>></span> escribió:<div><div></div><div class="h5">
<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><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><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><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>> Desde ya muchas gracias y saludos!<br>
<br>
</div>--<br>
Saludos,<br>
<font color="#888888"> Gilberto Cuba Ricardo<br>
</font><div><div><br>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net" target="_blank">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></div></div><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></blockquote></div><br><br clear="all"><br>-- <br>____________________________________________________<br>
 <br>      Mintaka...The rightmost of the stars of the belt...<br><br><div>        <a href="http://www.rafavende.tk/" target="_blank">http://www.rafavende.tk/</a><br>        <a href="http://mintakastar.wordpress.com/" target="_blank">http://mintakastar.wordpress.com/</a><div>
<div>        <a href="http://blog.chess.com/MINTAKASTAR" target="_blank">http://blog.chess.com/MINTAKASTAR</a></div><div><br></div><div><a href="http://blog.chess.com/MINTAKASTAR" target="_blank"></a>   got chess?? beat me !</div>
<div>        <a href="http://www.chess.com/members/view/MINTAKASTAR" target="_blank">http://www.chess.com/members/view/MINTAKASTAR</a><br>____________________________________________________</div></div></div><br>
</div></div>