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

  • Si configura sus combinaciones usando la vista Diseño del diseñador de consultas de Access, agregará los paréntesis que Access requiere cuando FROM incluye más de una combinación.

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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *