Problema com select
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
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
Curtidas 0
Respostas
Vinicius2k
29/08/2004
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+
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+
GOSTEI 0
Jrjoliv2003
29/08/2004
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.
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.
GOSTEI 0
Vinicius2k
29/08/2004
Bem, se eu tiver entendido corretamente, creio que o código seria este :
É isto?
Espero ter ajudado...
T+
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+
GOSTEI 0
Jrjoliv2003
29/08/2004
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.
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.
GOSTEI 0
Vinicius2k
29/08/2004
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+
Qual seria o correto então?
Se for TurNumero, basta substituir pelo nome correto na instrução...
T+
GOSTEI 0
Jrjoliv2003
29/08/2004
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.
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.
GOSTEI 0