Un INNER JOIN, LEFT JOIN o RIGHT JOIN, requiere una clausula USING o una cláusula ON tabla1.campoA = tabla2.campoB.
Esto significa que la consulta en cuestión debería ser:
Código sql:
Ver originalSELECT
tpedidos.Id Id,
tpedidos_gen_per.inf03 inf03,
tpedidos_gen_per.inf34 inf34,
tpedidos_gen_per.inf45 inf45,
tpedidos_gen_per.primaria primaria,
tpedidos_gen_per.secundaria secundaria,
tpedidos_gen_per.bachillerato bachillerato,
tpedidos_completos.Cantidad cantidad_completas
FROM tpedidos
INNER JOIN tpedidos_gen_per ON tpedidos.Id = tpedidos_gen_per.Id_pedido
INNER JOIN tpedidos_completos ON tpedidos.Id = tpedidos_completos.Id_pedido;
En este contexto, solamente te mostrará los registros donde
Cita: tpedidos.Id = tpedidos_gen_per.Id_pedido= tpedidos_completos.Id_pedido
En el caso tuyo, el problema es que no está muy claro cómo es el problema completo.
¿Podrías aclarar un poco en qué consiste la tarea y cómo son las tablas que se involucran?
Sugerencia final:
1. La cláusula AS es opcional desde hace años (SQL-1999:2000), y solamente se conserva por compatibilidad con versiones muy viejas. No hace falta para que funcione.
2. Trata de acomodar la sentencia en una forma estructurada. Hace que sea más fácil leerla.