[Php-avanzado] Consulta de conjuntos aplicada a SQL

German Fernandez german_fdz85 en hotmail.com
Mie Nov 25 15:25:37 ARST 2009


Tengo un problema:

 

Dadas dos tablas con los siguientes elementos:

 

Tabla N

1

2

3

4

5

 

Tabla L

A

B

C

D

E

 

Agregando que en la tabla N tengo referencias a la tabla L  de la siguiente manera:

 

1 - A

2 - B

3 - C

4 - A

 

Lo q yo necesito, es realizar una consulta SQL que traiga como resultado los elementos de N con referencias a la tabla L, los elementos de N sin referencias a la tabla L ( hasta ahí con un LEFT o RIGTH JOIN no tendría problemas) y los valores de la tabla( e aquí el problema)  L que no este referenciado en la tabla N.

Es decir, según el ejemplo el resultado debería ser:

 

1 - A

2 - B

3 - C

4 - A

NULL - E

5 - NULL

 

La solución que encontré es hacer un LEFT JOIN y luego anexar los registros faltantes con un UNION y realizando la inversa, es decir con un RIGHT excluyendo los valores repetidos. Pero debido a que en el problema original las Tablas L y N son subconsultas, la consulta final se hace engorrosa de leer y muy grande. Por esto realizo la consulta, para saber si hay una operación de conjuntos que no sea con UNION.

 

Desde ya muchas gracias German  Fernadez

 

 
 		 	   		  
_________________________________________________________________
¿No tenés Hotmail en tu BlackBerry? configuralo, Clic Aquí
http://www.hotmailentublackberry.com/hotmail.html
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/private/php-avanzado/attachments/20091125/9a28566c/attachment.htm 


Más información sobre la lista de distribución Php-avanzado