› Fóruns › SQL e PL/SQL › Consulta em tabela DE-PARA › Consulta em tabela DE-PARA
Um detalhe adicional, que é meio óbvio mas talvez te escape : se vc quiser ter filtros adicionais vc os inclui no WHERE , e como no meu caso estou usando a sintaxe de join nativa do Oracle (ie, informando os relacionamentos diretamente no WHERE ao invés de usar uma keyword JOIN) então num caso em que eu tenha filtros E relacionamentos a indicar, usando a sintaxe Oracle tudo fica incluso no WHERE : por exemplo, vc queria saber o status do aluno JOÃO, informe isso como filtro :
SQL> select ALU.nome, AVA.resultado, AVA.Historia, AVA.Matematica, AVA.Geografia
2 from ALUNO ALU, AVALIACAO AVA
3 where ALU.NOME = ‘João’
4 and AVA.Historia = ‘Sim’
5 and AVA.Matematica = ‘Sim’
6 and AVA.Geografia = ‘Sim’
7 and ALU.historia = AVA.historia
8 and ALU.Matematica = AVA.Matematica
9* and ALU.Geografia = AVA.Geografia;
NOME RESULTADO HIS MAT GEO
——————– ———- — — —
João APROVADO Sim Sim Sim
==> vc quer saber se o José teve Aprovação, informe José como condição de filtro :
SQL> select ALU.nome, AVA.resultado, AVA.Historia, AVA.Matematica, AVA.Geografia
2 from ALUNO ALU, AVALIACAO AVA
3 where ALU.NOME = ‘José’
4 and AVA.Historia = ‘Sim’
5 and AVA.Matematica = ‘Sim’
6 and AVA.Geografia = ‘Sim’
7 and ALU.historia = AVA.historia
8 and ALU.Matematica = AVA.Matematica
9* and ALU.Geografia = AVA.Geografia;
no rows selected
SQL>
==> okdoc ?? Evidentemente, é tarefa do teu Aplicativo formatar a informação, por exemplo dando uma mensagem mais amigável quando dados não são encontrados (que no nosso exemplo significa que Não havia Aprovação, o Aluno foi reprovado), formatando números e datas, enfim, fazendo a Interface entre o banco de dados e o usuário final…. DE JEITO NENHUM, se o teu Objetivo é funcionamento amigável ao usuário, vc retorna pra ele os dados tal qual o banco de dados os envia….
[]s
Chiappa