Problema con inner join en SQL

  • Autor Autor zorrero
  • Fecha de inicio Fecha de inicio
Estado

🔒 Este tema está cerrado para nuevas respuestas.

⏰ Solo el creador del tema puede solicitar la reapertura de sus propios temas, pero únicamente dentro de los 60 días previos a la última actualización.

zorrero

zorrero

Dseda
Social Media
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
Buenas, tengo una duda, estoy haciendo un programa, y tengo el siguiente problema...

Tengo una tabla Turistas, otra tabla espectaculo, para saber cuando un turista va a un espectaculo, cree una tabla con dos claves foraneas(id_turista,id_espectaculo) El tema es que cuando hago un inner join entre espectaculo, turistas y espectaculo_turistas:

SELECT nombre_turista,nombre_espectaculo FROM espectaculos_turistas INNER JOIN espectaculo INNER JOIN turistas;

Me devuelve todos los espectaculos y se le asigna automaticamente a todos los turistas todos los espectaculos, y no los id que tengo en la tabla.

Gracias
 
[MENTION=108648]zorrero[/MENTION] Obviamente va a suceder lo que describes. No estas discriminando absolutamente nada en esa consulta. Como parte del INNER JOIN existe el ON el cual ayuda a filtrar los resultados correctamente. Podrias hacer algo como lo siguiente (a lo mejor funcione):

Insertar CODE, HTML o PHP:
SELECT
    nombre_turista,
    nombre_espectaculo 
FROM espectaculos_turistas AS et
INNER JOIN 
    espectaculo AS e ON e.id_espectaculo = et.id_espectaculo
INNER JOIN turistas AS t ON t.id_turista = et.id_turista;

Saludos
 
[MENTION=108648]zorrero[/MENTION] Obviamente va a suceder lo que describes. No estas discriminando absolutamente nada en esa consulta. Como parte del INNER JOIN existe el ON el cual ayuda a filtrar los resultados correctamente. Podrias hacer algo como lo siguiente (a lo mejor funcione):

Insertar CODE, HTML o PHP:
SELECT
    nombre_turista,
    nombre_espectaculo 
FROM espectaculos_turistas AS et
INNER JOIN 
    espectaculo AS e ON e.id_espectaculo = et.id_espectaculo
INNER JOIN turistas AS t ON t.id_turista = et.id_turista;

Saludos

Muchas gracias!
 
Estado

🔒 Este tema está cerrado para nuevas respuestas.

⏰ Solo el creador del tema puede solicitar la reapertura de sus propios temas, pero únicamente dentro de los 60 días previos a la última actualización.

Atrás
Arriba