Jump to content


Photo

Clausula Juntando 2 Tabelas


  • Faça o login para participar
5 replies to this topic

#1 doltom

doltom

    12 Horas

  • Usuários
  • 219 posts
  • Sexo:Não informado

Posted 16/12/2004, 08:04

E ai gente.

Ainda nao ser fazem a clausula que quero, que é juntar as informaçoes de 2 tabelas para serem exibidos em apenas um recordset.

meu caso:
quero pegar informacoes da tabela professores coma tabal cursos, pra exibir em um unico recors set. estava usando assim:


SQL = "SELECT * FROM tbl_cursos RIGHT JOIN tbl_professores ON tbl_cursos.id_cursos = tbl_professores.cod_cursos WHERE tbl_cursos.id_cursos = " & Request.QueryString("ID")& ""

* o Request.QueryString("ID") é o ID do curso. Ou seja, pegar todos os professores que tiverem o memso id do curso escolhido numa pagina anterior.

como faça essa juncao de tabela? podem me ajudar. agradeceria muito.!!!
Assinatura editada

Por favor, somos um forum sério, faça uso de palavras mais apropriadas em sua assinatura.

#2 doltom

doltom

    12 Horas

  • Usuários
  • 219 posts
  • Sexo:Não informado

Posted 16/12/2004, 09:04

pessoal, achei uma solução:


SQL = "SELECT * FROM tbl_professores LEFT JOIN tbl_materias ON tbl_professores.cod_materias = tbl_materias.id_materias WHERE tbl_professores.cod_materias = "&request.Querystring("ID")&""


so que surgiu outro problema, junto a essa clausula quero pegar um campo de uma outra tabela (uma 3º tabela)

exste uma unica clausula que junto 3 tabelas?
Assinatura editada

Por favor, somos um forum sério, faça uso de palavras mais apropriadas em sua assinatura.

#3 powerful

powerful

    Turista

  • Usuários
  • 25 posts
  • Sexo:Não informado

Posted 16/12/2004, 09:13

kra...eu nunca usei o inner join eu faço assim


Select * from tabela1, tabela2, tabela3 where tabela1.id = 2 AND tabela2.id = 5
OR tabela3.id = 22

e se quiser apenas pegar um campo especifico fica assim


SELECT tabela1.campo, tabela2.campo, tabela3.campo FROM tabela1, tabela2, tabela3 WHERE tabela1.id = 2 AND tabela2.id = 5
OR tabela3.id = 22


dá até para vc fazer um 'alias' com os nomes das tabelas

SELECT * FROM tabela1 as tb1, tabela2 as tb2, tabela3 as tb3 where tb1.campo = string OR tb2.campo = string AND tb3.campo = string
Estou aqui para programar, não para ser programado...
esse sistema está falho, não penso em arruma-lo quero mais é que se xxxxxx...
vou criar o meu sistema, ajudas são muito bem vindas e recompensadas...
Aquele Abraço

#4 TucaZ

TucaZ

    Normal

  • Usuários
  • 99 posts
  • Sexo:Não informado

Posted 16/12/2004, 09:44

SELECT T1.*, T2*, T3.*, FROM tabela1 T1 INNER JOIN tabela2 T2 ON T1.ID = T2.ID INNER JOIN tabela3 T3 ON T2.ID = T3.ID

Você pode por N tabelas dentro de um SELECT. Se tiver mais alguma dúvida é só postar.

Abraços

#5 doltom

doltom

    12 Horas

  • Usuários
  • 219 posts
  • Sexo:Não informado

Posted 16/12/2004, 11:12

valeu cara!!! brigadao :)
Assinatura editada

Por favor, somos um forum sério, faça uso de palavras mais apropriadas em sua assinatura.

#6 felipecm

felipecm

    Expert

  • Usuários
  • 541 posts
  • Sexo:Não informado
  • Localidade:ABC / SP

Posted 16/12/2004, 11:44

valeu cara!!! brigadao :)

soh vc ficar esperto.. use INNER JOIN se vc tem realmente certeza q existe um registro de professor para o curso.. pois caso contrario.. o registro de curso naum aparece.. se for o caso vc usa LEFT OUTER JOIN.
MCAD, MCP




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq