Ajuda SQL - Urgente

JPNUM

Membro
Boa tarde a todos!

Estou a desenvolver uma aplicação para uma associação desportiva e tenho a seguinte base de dados:




Alguma santa alma me pode dizer qual o código SQL que tenho de usar para saber qual a modalidade em que o atleta está inscrito? Por favor, ajudem que a minha cabeça ja estourou :(
 
a melhor forma é fazeres com joins

mas esta tambem deve dar, mas nao te garanto nada. foi feita á pressa :D
Código:
select atletas.cod_atleta, modalidades.cod_modalidade
from atletas, modalidades
where atletas.cod_treinador = treinadores.cod_treinador and treinadores.cod_modalidade = modalidades.cod_modalidade
cumps
 
Está tudo OK, mas só falta o join com a treinadores...

a melhor forma é fazeres com joins

mas esta tambem deve dar, mas nao te garanto nada. foi feita á pressa :D
Código:
select atletas.cod_atleta, modalidades.cod_modalidade
from atletas, modalidades
where atletas.cod_treinador = treinadores.cod_treinador and treinadores.cod_modalidade = modalidades.cod_modalidade
cumps
 
SELECT FROM atletas, modalidades, treinadores WHERE atletas.cod_treinador = treinadores.cod_treinador AND cod_atleta = "mete_aqui_um_num_que_exista"
 
K0mA, está a faltar a ligação entre a treinadores e modalidades. A solução correcta é a do Armadillo, mas só tava a faltar a tabela treinadores no join :

Código:
select a.cod_atleta, m.cod_modalidade
from atletas a, modalidades m, treinadores t
where a.cod_treinador = t.cod_treinador and t.cod_modalidade = m.cod_modalidade

Cumprs

SELECT FROM atletas, modalidades, treinadores WHERE atletas.cod_treinador = treinadores.cod_treinador AND cod_atleta = "mete_aqui_um_num_que_exista"
 
Não testei mas parece-me que tem de dar pois cada treinador tem apenas 1 modalidade logo o cod_treinador identifica a modalidade
 
a melhor forma é fazeres com joins

mas esta tambem deve dar, mas nao te garanto nada. foi feita á pressa :D
Código:
select atletas.cod_atleta, modalidades.cod_modalidade
from atletas, modalidades
where atletas.cod_treinador = treinadores.cod_treinador and treinadores.cod_modalidade = modalidades.cod_modalidade
cumps

Hum ja tentei, tou a trabalhar com o VB6... dá-me o seguinte erro "Run-time error 3061 Too few parameters. Expected 2."

o que faço? ja tou tao desnorteado que nem sei o que fazer...

Podes explicar-me os joins? era mais facil para a criação de Recordsets :D
 
Não testei mas parece-me que tem de dar pois cada treinador tem apenas 1 modalidade logo o cod_treinador identifica a modalidade
exacto... a base de dados foi pensada assim... 1 treinador por modalidade e eu iria buscar a modalidade pelo treinador...
 
Já tentaste com a minha?

Pah tao simples quanto isto :D

SELECT treinadores.cod_modalidade FROM treinadores, atletas
WHERE atletas.cod_treinador = treinadores.cod_treinador AND atletas.cod_atleta = atleta_de_outra_query

descricao_variavel_do_VB = (sql_modalidade2("cod_modalidade"))

SELECT descricao FROM modalidades WHERE cod_modalidade = descricao_variavel_do_VB

que vos parece? :D
 
Em vez de tares a dar 2 hits na BD, fazes tudo numa só query... como já tinha sido falado em cima...

Código:
SELECT modalidades.descricao FROM treinadores, atletas, modalidades
WHERE atletas.cod_treinador = treinadores.cod_treinador 
AND treinadores.cod_modalidade = modalidades.cod_modalidade
AND atletas.cod_atleta = atleta_de_outra_query

Pah tao simples quanto isto :D

SELECT treinadores.cod_modalidade FROM treinadores, atletas
WHERE atletas.cod_treinador = treinadores.cod_treinador AND atletas.cod_atleta = atleta_de_outra_query

descricao_variavel_do_VB = (sql_modalidade2("cod_modalidade"))

SELECT descricao FROM modalidades WHERE cod_modalidade = descricao_variavel_do_VB

que vos parece? :D
 
Back
Topo