Es muy interesante que gracias a las listas se aprende todos los dias, muchas gracias por
tu aportación de oracle,
actualmente yo no manejo oracle pero si esta en mi interminable lista de cosas que
aprender, lo que si he usado es el left join de mysql entonces el left, right o inner
join son cosas que veo a diario, básicamente el left te une tu tabla de empresa
con todos los datos que encuentre o no de provincias, como que usara tu tabla de empresa
como pivote y el right (que no viene a tu caso) te muestra las empresa y todas las
provincias, para tu caso no tiene sentido pero es ejemplo, y el inner pues solo los que
sean iguales ocultando los que no estan en provincias.
select * from empresa
left join provincias on (empresa.id_provincia=provincias.id);
> From: fdelfresno@stripped
> To: mysql-es@stripped
> Subject: duda left join
> Date: Wed, 7 May 2008 17:29:58 +0200
>
> Muy Buenas, quería consultar una duda.
>
> Siempre he utilizado Oracle en mis desarrollos y las consultas que me
> obligaban hacer productos cartesianos (unir unas tablas con otras por medio
> de un id, por ejemplo) lo hacía así:
>
> Select * from empresas, provincias where empresas.id_provincia (+) =
> provincias.id
>
> (el (+) significa que si se intenta cruzar por un campo que es nulo, lo
> muestra de igual manera)
>
>
>
> Pero ahora con MySQL CREO sólo se puede hacer de esta manera:
>
> Select * from empresas
>
> LEFT JOIN provincias ON empresas.id_provincia = provincias.id
>
>
>
> - ¿Esa es la única manera de hacer un join en MySQL?
>
> - ¿Si quisiera seguir haciendo cruces debería seguir
> añadiendo
> líneas como esta?:
>
> LEFT JOIN otra_tabla ON empresas.id_otro = otra_tabla.id
>
>
>
> Cualquier ayuda me servirá. Muchísimas gracias
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
_________________________________________________________________
Send funny voice messages packed with tidbits from MSN. Everyone wants to be ready.
http://www.noonewantstolookdumb.com?OCID=T001MSN54N1613A