Select SQL

12 respostas
douglasduarte360

tenho uma coluna onde seu valor é 12.
ex: select parcela from Aluno where ID_aluno=1;
retornaria:
12

tem alguma forma de retorna.
1
2
3
4
até 12(que é o valor da coluna)

é possivel ?

12 Respostas

jmaciel33

Vc quer todas as parcelas de todos id ??

L

quais as colunas que tem na tabela aluno?

R

Se entendi certo voce tem uma coluna com o número de parcelas, mas na sua aplicação voce precisa exibir todas as parcelas. O normal é que você faça o SELECT conforme está no seu exemplo e fazer um loop para preencher uma lista com as parcelas que você precisa exibir.
for(int i = 0; i < parcela; i++).

douglasduarte360

vou querer de todos os ids.
Porem separados.
quando eu buscar do id 1 vir todas as parcelas.
quando eu buscar do id 2 vir todas as parcelas.

douglasduarte360

ID_aluno
Nome
Parcela
ValorMensal

douglasduarte360
RodrigoEustaquio:
Se entendi certo voce tem uma coluna com o número de parcelas, mas na sua aplicação voce precisa exibir todas as parcelas. O normal é que você faça o SELECT conforme está no seu exemplo e fazer um loop para preencher uma lista com as parcelas que você precisa exibir. for(int i = 0; i < parcela; i++).

Tentei colocar o for assim mas nao deu certo.

public ArrayList<Aluno> listFinan() throws SQLException {
        ArrayList<Aluno> listar = new ArrayList<>();
        stmt = connection.createStatement();
       
        try {
            PreparedStatement sql = connection.prepareStatement("SELECT * FROM Aluno where ID_aluno='1'");
            rs = sql.executeQuery();
        
            
            while (rs.next()) {
                Aluno aluno = new Aluno();
                int i=0;
              // for(i=0;i<aluno.getParcelas().length();i++){
                aluno.setParcelas(rs.getString("Parcelas"));
                aluno.setValorMensal(rs.getBigDecimal("ValorMensal"));
                aluno.setDataVenc(rs.getString("DataVenc"));
                
                
                listar.add(aluno);
            //}
            }
        } catch (SQLException e) {
        }
        stmt.close();
        return listar;
    }
R

ID_aluno
Nome
Parcela
ValorMensal

Pelo que entendi o campo ‘parcela’ é o número de parcelas, é isso mesmo?

douglasduarte360

ID_aluno
Nome
Parcela
ValorMensal

Pelo que entendi o campo ‘parcela’ é o número de parcelas, é isso mesmo?

Sim é isso mesmo.
a idéia é se no campo parcela esta com o valor 12.
minha aplicação monta uma tabela com12 linhas

R
douglasduarte360:
RodrigoEustaquio:
douglasduarte360:
leopoldof:
quais as colunas que tem na tabela aluno?

ID_aluno
Nome
Parcela
ValorMensal

Pelo que entendi o campo 'parcela' é o número de parcelas, é isso mesmo?

Sim é isso mesmo.
a idéia é se no campo parcela esta com o valor 12.
minha aplicação monta uma tabela com12 linhas

No caso você vai ter que ter um objeto Parcela (só uma sugestão)
public ArrayList<Parcela> listFinan() throws SQLException {  
        ArrayList<Aluno> listar = new ArrayList<>();  
        stmt = connection.createStatement();  
         
        try {  
            PreparedStatement sql = connection.prepareStatement("SELECT * FROM Aluno where ID_aluno='1'");  
            rs = sql.executeQuery();  
          
              
            while (rs.next()) {  
                Aluno aluno = new Aluno();  
                int i=0;  
                aluno.setParcelas(rs.getString("Parcelas"));  
                aluno.setValorMensal(rs.getBigDecimal("ValorMensal"));  
                aluno.setDataVenc(rs.getString("DataVenc"));  
                for(i=0;i<aluno.getParcelas().length();i++){
                    Parcela parcela = new Parcela();
                    parcela.setValor(aluno.getValorMensal());
                    parcela.setAluno(aluno);
                    parcela.setNumeroDaParcela(i);
                }
                  
                  
                listar.add(aluno);  
            //}  
            }  
        } catch (SQLException e) {  
        }  
        stmt.close();  
        return listar;  
    }
douglasduarte360
RodrigoEustaquio:
douglasduarte360:
RodrigoEustaquio:
douglasduarte360:
leopoldof:
quais as colunas que tem na tabela aluno?

ID_aluno
Nome
Parcela
ValorMensal

Pelo que entendi o campo 'parcela' é o número de parcelas, é isso mesmo?

Sim é isso mesmo.
a idéia é se no campo parcela esta com o valor 12.
minha aplicação monta uma tabela com12 linhas

No caso você vai ter que ter um objeto Parcela (só uma sugestão)
public ArrayList<Parcela> listFinan() throws SQLException {  
        ArrayList<Aluno> listar = new ArrayList<>();  
        stmt = connection.createStatement();  
         
        try {  
            PreparedStatement sql = connection.prepareStatement("SELECT * FROM Aluno where ID_aluno='1'");  
            rs = sql.executeQuery();  
          
              
            while (rs.next()) {  
                Aluno aluno = new Aluno();  
                int i=0;  
                aluno.setParcelas(rs.getString("Parcelas"));  
                aluno.setValorMensal(rs.getBigDecimal("ValorMensal"));  
                aluno.setDataVenc(rs.getString("DataVenc"));  
                for(i=0;i<aluno.getParcelas().length();i++){
                    Parcela parcela = new Parcela();
                    parcela.setValor(aluno.getValorMensal());
                    parcela.setAluno(aluno);
                    parcela.setNumeroDaParcela(i);
                }
                  
                  
                listar.add(aluno);  
            //}  
            }  
        } catch (SQLException e) {  
        }  
        stmt.close();  
        return listar;  
    }

Ok, mas nesse caso vou ter que criar uma Classe Parcelas e os metodos get/set ?
i

R

O seu objeto aluno não tem um campo para a parcela, somente para o número de parcelas. Ao invés de criar um objeto parcela voce pode colocar um atributo numeroDaParcala na sua classe Aluno e no lugar da classe Parcela voce usaria a classe aluno. Não sei qual o uso pra você, mas isso não é o correto. O correto é uma classe ser responsável por cada coisa. Por exemplo, sua classe Aluno não deveria ter o número de parcelas, porque no caso ficaria limitado a um parcelamento por aluno. O correto é ter na classe Aluno somente os dados do aluno. E ter uma classe Parcelamento com o Id do parcelamento, o aluno e o número de parcelas. Assim o aluno poderia fazer vários parcelamentos e voce conseguiria manter um histórico destes parcelamentos.

L

usa um order by no seu select para ordenar por id do aluno…daí vem primeiro todas as parcelas do Id 1 depois vem todas do id 2 e assim por diante

Criado 22 de março de 2013
Ultima resposta 22 de mar. de 2013
Respostas 12
Participantes 4