(Resolvido) retornar string em consulta , ajuda please

7 respostas
GabrielCardelli
isso me retorna masc e fem agrupados com um numero cada mais preciso de um if e retornar

masc tem mais passageiros
como eu faço isso?
abc obrigado desde ja......

isso me retorna masc e fem agrupados com um numero cada mais preciso de um if e retornar

masc tem mais passageiros
como eu faço isso?
abc obrigado desde ja…

7 Respostas

Alexandre_Saudate

Isso é JPAQL ou consulta nativa?

Alguns SGBDs têm o recurso do TOP(X) (X é um número), que te retorna o número máximo de linhas da consulta. Assim, você consegue extrair só uma linha, contendo o sexo que tem mais registros…

GabrielCardelli
Na Linha de Comando Do Oracle eu digito aquela query e ele me Traz

[code]Sexo   COUNT
    M        10
    F         15
eu queria fazer um

IF ( M > F ) Print 'M viajou mais'

e Voltar no Console para mim

> M viajou mais

A

Você pode resolver isto utilizando o comando CASE-WHEN do Oracle, segue um link que ensina como mexer com ele

http://www.adp-gmbh.ch/ora/sql/case_when.html

E como você precisa dos 2 valores, tanto masculo, como feminino na mesma linha, então você vai precisar fazer um subSelect, ou então resolver isto com uma Stored Procedure, ou claro se puder fazer isto no java mesmo.

Caso não consiga resolver com o CASE-WHEN e SubSelect, retorne como tentou.

Att

pmlm

Podes tentar algo assim:

Mas não vai dar certo para quando o número de M e F for o mesmo (vai dizer sempre que um deles viajou mais)

Alexandre_Saudate

pergunta…

porque não simplesmente pegar só a primeira linha que retorna do banco?

GabrielCardelli

asaudate:
pergunta…

porque não simplesmente pegar só a primeira linha que retorna do banco?

Pediram… fazer oq… koaskposa

Ae… Eu resolvi fazendo isso:

SELECT DISTINCT DECODE(GREATEST(maxF,maxM),maxF,'O Sexo Feminino viajou mais Vezes.',maxM,'O Sexo Masculino viajou mais Vezes.') "Resultado" FROM Passageiro,(SELECT COUNT(*) maxF FROM PASSAGEIRO WHERE SexoPassageiro = 'F'), (SELECT COUNT(*) maxM FROM PASSAGEIRO WHERE SexoPassageiro = 'M');

Mais tbm n funfa se for = a 0 eu acho.

GabrielCardelli

obrigado a todos…

Criado 6 de janeiro de 2010
Ultima resposta 7 de jan. de 2010
Respostas 7
Participantes 4