Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

FULL JOIN ya no es valido me da error 1064

Hola estoy haciendo lo que el profesor y ya no me acepta cambiar a FULL JOIN. me da error. Pero veo que al profesor no le da error y ami si.

Investigue y me dice que debo usar LEFT JOIN y RIGHT JOIN para simular un FULL JOIN combinando ambas en una sola consulta.

Porque full join no es valido. ¿Es esto correcto?

2 respuestas
solución!

Hola José, es importante tener en cuenta que aunque el FULL JOIN es válido en los estándares ANSI de SQL, en MySQL no se utiliza de esa manera. En su lugar, debes utilizar un LEFT JOIN y un RIGHT JOIN combinados en una sola consulta para simular un FULL JOIN.

En el contexto que compartiste, el profesor utiliza un INNER JOIN para visualizar qué clientes son atendidos por qué vendedores en qué barrio. Luego, utiliza un LEFT JOIN para mostrar todos los clientes y los vendedores que los atienden, y un RIGHT JOIN para mostrar todos los vendedores y los clientes que están siendo atendidos. Estos JOINs combinados te permiten obtener los resultados que necesitas sin utilizar el FULL JOIN.

Aquí tienes un ejemplo de cómo podrías combinar un LEFT JOIN y un RIGHT JOIN en una consulta para simular un FULL JOIN:

SELECT *
FROM tabla_de_clientes
LEFT JOIN tabla_de_vendedores ON tabla_de_clientes.BARRIO = tabla_de_vendedores.BARRIO
UNION
SELECT *
FROM tabla_de_clientes
RIGHT JOIN tabla_de_vendedores ON tabla_de_clientes.BARRIO = tabla_de_vendedores.BARRIO;

Recuerda adaptar la consulta a tu caso específico, reemplazando "tabla_de_clientes" y "tabla_de_vendedores" por los nombres de tus tablas y "BARRIO" por el campo que deseas utilizar para unir las tablas. :)

Si este post te ayudó, por favor, marca como solucionado ✓.

Gracias por sus respuestas