Problema com inner join em SQL

  • Autor Autor zorrero
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
Status

🔒 Este tópico está fechado para novas respostas.

⏰ Apenas o criador do tópico pode solicitar a reabertura de seus próprios tópicos, mas apenas dentro dos 60 dias anteriores à última atualização.

zorrero

zorrero

Dseda
Social Media
Verificación en dos pasos activada
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
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
[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):

Inserir CODE, HTML ou 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):

Inserir CODE, HTML ou 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!
 
Status

🔒 Este tópico está fechado para novas respostas.

⏰ Apenas o criador do tópico pode solicitar a reabertura de seus próprios tópicos, mas apenas dentro dos 60 dias anteriores à última atualização.

Voltar
Topo