none
Junção de Tabelas RRS feed

  • Pergunta

  • Galera,
     
    Estou com um problema:
     
    Na tabela ALUNO tem o campo es_codigo
    Na tabela Servico tem o campo es_codigo
     
    Como posso comparar o es_codigo da tabela aluno com es_codigo da tabela servico?
     
    SQL = "SELECT Aluno.*, Login.*, Aluno.nome as anome, Curso.nome AS curso, Aluno.codigo, Login.email AS lmail "&_
       "FROM Aluno LEFT JOIN "&_
          "Login ON Aluno.codigo = Login.al_codigo LEFT OUTER JOIN "&_
          "Curso ON Aluno.cr_codigo = Curso.codigo "&_
       "WHERE (Aluno.codigo = '" & alcodigo & "')"
    set rsAluno = openSql(SQL)

    SQL = "SELECT servico.codigo,servico.nome,SD.dtprazo as prazo,SD.docexige," & _
       " parcela.pa,parcela.valor,SD.dtprazoini,SD.dtprazofim" & _
       " FROM (servico LEFT JOIN parcela ON servico.codigo=parcela.se_codigo) LEFT JOIN ServicoDocumento As SD ON servico.codigo=SD.se_codigo" & _
       " WHERE SD.aass='"+cSemAtu+"'" & _
       " ORDER BY servico.nome"
     
    Obrigado
    Renê
     
     
    quarta-feira, 30 de maio de 2007 21:45

Todas as Respostas

  • Bom dia Renê

     

    Basta vc incluir mais um Join, vc faz a comparação no próprio JOIN

     

    SQL = "SELECT Aluno.*, Login.*, Aluno.nome as anome, Curso.nome AS curso, Aluno.codigo, Login.email AS lmail "&_
       "FROM Aluno LEFT JOIN "&_
          "Login ON Aluno.codigo = Login.al_codigo LEFT OUTER JOIN "&_

            "Curso ON Aluno.cr_codigo = Curso.codigo "&_

      "INNER JOIN SERVICO SD ON SD.ES_CODIGO = ALUNO.ES_CODIGO" &_
       "WHERE (Aluno.codigo = '" & alcodigo & "')"
    set rsAluno = openSql(SQL)

     

    SQL = "SELECT servico.codigo,servico.nome,SD.dtprazo as prazo,SD.docexige," & _
       " parcela.pa,parcela.valor,SD.dtprazoini,SD.dtprazofim" & _
       " FROM (servico LEFT JOIN parcela ON servico.codigo=parcela.se_codigo) LEFT JOIN ServicoDocumento As SD ON servico.codigo=SD.se_codigo" & _

    " INNER JOIN Aluno Servico.es_Codigo = Aluno.ES_CODIGO"
       " WHERE SD.aass='"+cSemAtu+"'" & _
       " ORDER BY servico.nome"

     

     

    Espero ter ajudado

    quinta-feira, 31 de maio de 2007 11:02
  • Renê,

     

    Utilizando o Join você estará determinando para o SQL Server a necessidade de relacionar uma table com a outra, fazendo com que exista um relacionamento.

     

    O importante quando utilizar Join ou qualquer outra forma de relacionamento utilizar os campos chaves primárias ou estrangeiras, e também campos com índices para obter maior performance e ganho de processamento durante o processo de execução realizado pelo SQL Server.

    quinta-feira, 31 de maio de 2007 11:12