Ir para conteúdo
Fórum Script Brasil
  • 0

Relacionamento entre tabelas...


cassianooliver

Pergunta

4 respostass a esta questão

Posts Recomendados

  • 0

SELECT pc.nome,pc.email,p.nome FROM promocoes_ganhadores pg
LEFT JOIN promocoes_cadastro pc ON pc.id = pg.cid
LEFT JOIN promocoes p ON p.id = pg.pid
WHERE pg.pid = 'ID DA PROMOÇÃO'

Acho que isso deve estar correto...

Movendo PHP » MySQL.

Link para o comentário
Compartilhar em outros sites

  • 0

Oi, cassianooliver!

SELECT pc.nome,pc.email,p.nome FROM promocoes_ganhadores pg
LEFT JOIN promocoes_cadastro pc ON pc.id = pg.cid
LEFT JOIN promocoes p ON p.id = pg.pid
WHERE pg.pid = 'ID DA PROMOÇÃO'
Acho que isso deve estar correto... Movendo PHP » MySQL.
O mais correto será usar o INNER JOIN em vez do LEFT JOIN informado pelo ESerra. Se você usar o LEFT JOIN, e houver inconsistência em seu arquivo ele trará os registros inconsistentes. Com INNER JOIN somente os registros consistentes virão. Um outro ponto a analisar é a performance da consulta apresentada através da ordem em que as tabelas foram selecionadas. Pode parecer inexpressivo o tempo de retorno desta consulta se a quantidade de registros em promocoes_ganhadores for pequena. Mas, se for grande, então você deve modificar sua consulta para que pegue primeiro a tabela promocoes, depois a tabela promocoes_ganhadores e, por último, a tabela promocoes_cadastro. Você deve informar ao MySQL que a consulta se dará da esquerda para a direita, usando a cláusula STRAIGHT_JOIN. Então, sua consulta ficaria assim:
SELECT STRAIGHT_JOIN pc.nome, pc.email, p.nome 
FROM promocoes p 
INNER JOIN promocoes_ganhadores pg ON pg.pid = p.id
INNER JOIN promocoes_cadastro pc ON pc.id = pg.cid
WHERE pg.pid = 'ID DA PROMOÇÃO'

Link para o comentário
Compartilhar em outros sites

  • 0
a sql devo usar como colocaram aí acima?

o que seria pc? pg?

só abreviaram ou uso assim mesmo?

outra dúvida...

no mysql_fetch_array, como retornar o nome do ganhador?

obrigado pela atenção..

Respondendo

1 = sim

2 = é uma abrevi~ção para evitar escrever o nome todo da tabela.

3 = Não sei. Não entendo de PHP. Apenas sei que o nome do ganhador será informado através do atributo pc.nome. O email virá través do atributo pc.email e o nome da promoção través dio atributo p.nome.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...