Problema com select

29/08/2004

0

Estou tentado fdazer esse select com um compnente Query mas está dando erro no primeiro AS. Quero utilizar a mesma tabalea 2 vezes:

select T.MDT_TurNumero, T2.MDT_TurNumero from
Transferencia join (ModTurma AS T) ON Tran_TurMod = T.Mdt_TurMod
join (ModTurma As T2) ON Tran_TurModN = T2.Mdt_TurMod

Se puder ajudar...
Agradeço!

JR


Jrjoliv2003

Jrjoliv2003

Responder

Posts

29/08/2004

Vinicius2k

Colega,

Não entendi a lógica da consulta...
1) quais campos são de cada tabela? (mostre a estrutura, ou parte dela)
2) qual o resutado que vc quer da consulta?

Neste tópico tem um exemplo de como fazer um join entre a uma tabela com outra repetidas vezes : http://delphiforum.icft.com.br/forum/viewtopic.php?t=50835

Se o exemplo não lhe servir, poste novamente mais detalhes para tentarmos lhe ajudar...

T+


Responder

29/08/2004

Jrjoliv2003

Obrigado pro ter repsondido mais uma vez!!

Bom,

tenho uma tabela que se chama ModTurma (módulos de uma turma) com os campos:
MDT_TurMod (campo chave)
MDT_Turma
MDT_Modulo

Para cada Turma pode ter vários módulos. Para cada combinação Turma/Modulo existe uma chave MDT_Turmod.

O aluno se inscreve em várias turmas, porém no BD fica registrado o MDT_TurMod.

Quando se faz uma Transferencia, fica registrado o MDT_TurMod (antigo) , MDT_TuModN (novo) e o codigo da transferencia na Tabela Transferencia.

Gostaria de fazer um select para saber o número da turma do MDT_Turmod (antigo) e o número da turma do MDT_TurModN (Novo) de cada transferencia.

Estou tentando isso ,mais não está dando certo:

select T.MDT_TurNumero, T2.MDT_TurNumero from
Transferencia join (ModTurma AS T) ON Tran_TurMod = T.Mdt_TurMod
join (ModTurma As T2) ON Tran_TurModN = T2.Mdt_TurMod

Valeu a força!!!

JR.


Responder

29/08/2004

Vinicius2k

Bem, se eu tiver entendido corretamente, creio que o código seria este :
select T.*, 
       MT1.MDT_Turma as TurmaAnterior,
       MT2.MDT_Turma as TurmaAtual
from Transferencia T
  left join ModTurma MT1 on (Tran_Turmod  = MT1.MDT_TurMod)
  left join ModTurma MT2 on (Tran_TurmodN = MT2.MDT_TurMod)


É isto?

Espero ter ajudado...
T+


Responder

29/08/2004

Jrjoliv2003

Coloquei seu código mas está com erro. Me retorna coluna não identificad em MT1.MDT_Turma...


select T.*,
MT1.MDT_Turma as TurmaAnterior,
MT2.MDT_Turma as TurmaAtual
from Transferencia T
left join ModTurma MT1 on (Tran_Turmod = MT1.MDT_TurMod)
left join ModTurma MT2 on (Tran_TurmodN = MT2.MDT_TurMod)

Valeu a força!!!

JR.


Responder

30/08/2004

Vinicius2k

Bem, MDT_Turma é o nome que vc me passou para o campo quando postou a estrutura da tabela de ModTurma... mas observei seu código e parece q vc referencia este campo como MDT_TurNumero...
Qual seria o correto então?
Se for TurNumero, basta substituir pelo nome correto na instrução...

T+


Responder

31/08/2004

Jrjoliv2003

Beleza!!! Resolvido!!!

select T.*,
MT1.MDT_TurNumero as TurmaAnterior,
MT2.MDT_TurNumero as TurmaAtual
from Transferencia T
left join ModTurma MT1 on (Tran_Turmod = MT1.MDT_TurMod)
left join ModTurma MT2 on (Tran_TurmodN = MT2.MDT_TurMod)

Obrigado mais uma vez!

JR.


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar