Ver Mensaje Individual
  #10 (permalink)  
Antiguo 09/09/2014, 12:10
skanskan
 
Fecha de Ingreso: enero-2008
Mensajes: 136
Antigüedad: 16 años, 11 meses
Puntos: 1
Respuesta: Consultas a relaciones many-to-many, en Access ?

Cualquier ejemplo me sirve pero te pongo los datos (tres tablas) de mi ejemplo

Código:
Coches
------
ID	Modelo
1	Ford
2	Seat
3	Mercedes
4	BMW
Código:
Personas
---------
ID	Nombre
1	Ana
2	Carlos
3	Dani
4	Jose
5	Maria
6	Vicente
Código:
Pivot
-----
ID	Personas	Coches
1	1	1
2	1	2
3	2	3
4	3	2
5	4	4
También he visto que está última, la pivot table, hay quien la hace con sólo dos columnas, y creando un indice conjunto para evitar repeticiones.

El resultado que hay que obtener es:

Código:
Modelo	Nombre
Ford		Ana
Seat		Ana
Mercedes 	Carlos
Seat		Dani
BMW		Jose
que yo he obtenido creando relaciones many-to-1 desde la pivot table hasta las ID de las otras dos.
a lo mejor estoy complicándolo más de lo necesario.

Otra cosa, ¿Cómo haces para convertir esas tablas de datos de Access directamente en sentencias SQL de creación de tablas?
Porque para eso no está activa la opción "ver como SQL". y un copy&paste no sirve.

saludos


PD: parece que el Acces al tener seleccionada la tabla pivote (además de las otras) esa consulta la hace como

Código SQL:
Ver original
  1. SELECT Coches.Modelo, Personas.Nombre
  2. FROM Personas INNER JOIN (Coches INNER JOIN [Pivot] ON Coches.ID = Pivot.Coches) ON Personas.ID = Pivot.Personas;
no sé si se podría hacer con Where en vez de Joins con ON, ni sé que es más eficiente.

¿Por qué ese [Pivot] se pone entre corchetes y lo demás no?
Y como conclusión de todo esto, parece que en SQL Server el simple hecho de tener definidas relaciones FK no te afecta a las consultas, tienes que especificarlo todo a mano, pero en Access sí, lo hace todo bastante automático.

Última edición por skanskan; 09/09/2014 a las 12:34