Tengo problemas para unir tres tablas. Funciona bien cuando utilizo la misma consulta para unir dos tablas (después de eliminar LEFT OUTER JOIN C ON B.No = C.No
). Sin embargo, no funciona cuando uso tres tablas.
Esta es mi consulta
SELECT A.Name, B.Quantity, C.Quantity FROM A LEFT OUTER JOIN B ON A.ID = B.ID LEFT OUTER JOIN C ON B.No = C.No;
Comentarios
Respuesta
MS-Access es bastante exigente en lo que quiere las uniones a formar. Agregue paréntesis:
SELECT A.Name, B.Quantity, C.Quantity FROM ( A LEFT OUTER JOIN B ON A.ID = B.ID ) LEFT OUTER JOIN C ON B.No = C.No ;
La sintaxis SQL estándar, y la mayoría de los demás DBMS, no necesitan requerir paréntesis en el FROM
cláusula, aunque se le permite usarlos para mayor claridad.
Comentarios
- Gracias por su respuesta. ¡Funcionó! Muchas gracias. Sabía que mi consulta era correcta, pero me perdí el paréntesis. Gracias una vez más. ¡Dios bendiga! 🙂
- La mayoría de los demás DBMS no los necesitan (y con razón).
- Sí. Es ' la primera vez que utilizo MS Access. ¡Estoy ' tan acostumbrado a SQL Server!
- @deppz: ¿Sabe que existe una edición SQL-Server Express? (no con todas las capacidades de las ediciones superiores, pero puede satisfacer sus necesidades).
- Sí, ' lo he usado antes. Para esta tarea en particular, solo tuve que usar MS Access. Sin embargo, gracias por tu sugerencia.
FROM
incluye más de una combinación.