Re: [flexdev] Re: Dúvida questão de Prova

2010-12-02 Por tôpico Murilo Rosa . Net --- Web Studio
Sim sim, na materia de banco de dados na faculdade o professor sempre falava, sub-select utilize para fazer calculos ou coisas do tipo, senao, utilize sempre as JOINS Att, Murilo Rosa . Net http://www.murilorosa.net +554288010692 skype: murilobiassio msn: cont...@murilorosa.net Em 2 de dezembro

[flexdev] Re: Dúvida questão de Prova

2010-12-02 Por tôpico Gilberto Ximenes
Não se preocupe que você ainda vai precisar usar muito sub-select na sua vida, mas para este caso específico ele não é amelhor por 2 motivos: - o sub-select é executado para cada linha o que pode degradar a performance se a tabela de jogos for muito grande - se você precisar trazer também uma outra

Re: [flexdev] Re: Dúvida questão de Prova

2010-12-02 Por tôpico Murilo Rosa . Net --- Web Studio
É foi como eu imaginei, é a base do SQL, mas como cada banco tem suas particularidades eu ja enviei esta resposta para saber ao certo se no Oracle retornava mais de uma linha, foi bom saber, quero começar a estudar Oracle agora, pois minha especialidade é o PostgreSQL Att, Murilo Rosa . Net http:/

[flexdev] Re: Dúvida questão de Prova

2010-12-02 Por tôpico Diego Feijó
Olá Murilo, é verdade você tem razão com mais de um registro na tabela o sub-select já não funciona mais. No caso do oracle ele está retornando o seguinte erro: ORA-01427: a subconsulta de uma única linha retorna mais de uma linha On 2 dez, 15:11, "Murilo Rosa . Net --- Web Studio" wrote: > Nao

Re: [flexdev] Re: Dúvida questão de Prova

2010-12-02 Por tôpico Murilo Rosa . Net --- Web Studio
Nao sei no Oracle, mas no postgres o sub-select pode retornar apenas 1 resultado Att, Murilo Rosa . Net http://www.murilorosa.net +554288010692 skype: murilobiassio msn: cont...@murilorosa.net Em 2 de dezembro de 2010 14:56, Diego Feijó escreveu: > Olá Cleyton, funcionou somente desta forma, a

[flexdev] Re: Dúvida questão de Prova

2010-12-02 Por tôpico Diego Feijó
Olá Cleyton, funcionou somente desta forma, acho que você criou errado o álias para a tabela de teste. SELECT ROOT.JOGOS.GOLS_TIME1, ROOT.JOGOS.GOLTS_TIME2, TIME_1.NOME AS TIME1, TIME_2.NOME AS TIME2 FROM ROOT.JOGOS INNER JOIN ROOT.TIMES TIME_1 ON (TIME_1.ID_TIMES = ROOT.JOGOS.ID_TIME1

[flexdev] Re: Dúvida questão de Prova

2010-12-02 Por tôpico Diego Feijó
Olá Clayton, realizei o teste e obtive o seguinte erro: ORA-00936: expressão não encontrada On 2 dez, 14:12, Clayton wrote: > K. > > Analise o select. > Está mencionado apenas uma única tabela de times, apenas duas vezes com > alias diferente. > > tende executar pra vc ver. > > Em 2 de dezemb

Re: [flexdev] Re: Dúvida questão de Prova

2010-12-02 Por tôpico Clayton
K. Analise o select. Está mencionado apenas uma única tabela de times, apenas duas vezes com alias diferente. tende executar pra vc ver. Em 2 de dezembro de 2010 13:56, Diego Feijó escreveu: > Clayton, não são 2 tabelas de times é uma tabela de times e 1 tabela > de jogos, porém a tabela

[flexdev] Re: Dúvida questão de Prova

2010-12-02 Por tôpico Diego Feijó
Clayton, não são 2 tabelas de times é uma tabela de times e 1 tabela de jogos, porém a tabela de jogos tem 2 ligações com a tabela de times. Conforme primeiro post. Tenho 2 tabelas Times e Jogos. Na tabela de times tenho os seguintes fields TIMES(id_time,nome). Na tabela de jogos tenho JOGOS(id_j

Re: [flexdev] Re: Dúvida questão de Prova

2010-12-02 Por tôpico Clayton
Correção: SELECT ROOT.JOGOS.GOLS_TIME1, ROOT.JOGOS.GOLTS_TIME2, time_1.NOME AS TIME1, time_2.NOME AS TIME2, FROM ROOT.JOGOS INNER JOIN ROOT.TIMES AS time_1 ON (time_1.ID_TIMES = ROOT.JOGOS.ID_TIME1) INNER JOIN ROOT.TIMES AS time_2 ON (time_2.ID_TIMES = ROOT.JOGOS.ID_TIME2) Em 2 de dezembro de 201

Re: [flexdev] Re: Dúvida questão de Prova

2010-12-02 Por tôpico Clayton
Diego, O select abaixo funcionou perfeitamente aqui no oracle 10g. SELECT ROOT.JOGOS.GOLS_TIME1, ROOT.JOGOS.GOLTS_TIME2, time_1.NOME AS TIME1, time_2.NOME AS TIME2, FROM ROOT.JOGOS INNER JOIN ROOT.TIMES1 AS time_1 ON (time_1.ID_TIMES = ROOT.JOGOS.ID_TIME1) INNER JOIN ROOT.TIMES2 AS time_2 ON (ti

[flexdev] Re: Dúvida questão de Prova

2010-12-02 Por tôpico Diego Feijó
Bruno não são 2 tabelas de times como você colocou times1 e times2 é uma tabela chamada times. Mesmo alterando na segunda para "as time2" o erro persiste. Parece ser simples mas é bem chatinho de resolver, como falei a única solução que encontrei é com sub-select. On 2 dez, 13:26, Bruno Soares

Re: [flexdev] Re: Dúvida questão de Prova

2010-12-02 Por tôpico Bruno Soares
ROOT.TIMES1.NOME AS TIME1, > ROOT.TIMES2.NOME AS TIME1, ai está o erro Coluna com o mesmo nome 2010/12/2 Diego Feijó > Clayto, dessa forma já tentei e o oracle retorna um erro. ORA-00918: > coluna definida de maneira ambígua > > On 2 dez, 13:08, Clayton wrote: > > SELECT > > ROOT.JOGOS.GOLS_

[flexdev] Re: Dúvida questão de Prova

2010-12-02 Por tôpico Diego Feijó
Clayto, dessa forma já tentei e o oracle retorna um erro. ORA-00918: coluna definida de maneira ambígua On 2 dez, 13:08, Clayton wrote: > SELECT >  ROOT.JOGOS.GOLS_TIME1, >  ROOT.JOGOS.GOLTS_TIME2, >  ROOT.TIMES1.NOME AS TIME1, > ROOT.TIMES2.NOME AS TIME1, > FROM >  ROOT.JOGOS >  INNER JOIN ROOT.

[flexdev] Re: Dúvida questão de Prova

2010-12-02 Por tôpico Diego Feijó
Olá Bruno, me desculpe por não colocar off-topic. Amigo, também pensei que daria dessa forma mas mesmo assim não dá certo, somente funciona corretamente com sub-select. Veja, necessito que o resultado aparece da seguinte forma. Time1 Time2 Gols_Time1 Gols_Time2 Gremio Inter 2 0