Ir para conteúdo
Fórum Script Brasil
  • 0

Pegar valores de 3 tabelas e o registro corrente..mysql


andrests

Pergunta

Galera,

Tenho a seguinte situacao....

são 2 tabelas: pedido e notafiscl

Precisao fazer um select que me retorne os dados delas, ate ai beleza...eu esbarrei em duas coisas

1. não estou conseguindo pegar o registro corrente(no caso, o atual da compra)

2 .Quando mando pegar o campo id_cliente (tabela pedido) ele não mostra o nome do cliente, mas sim o numero(ID), a unica tabela que tem o campo NOME é a tabela cliente(q não esta no select)

alguém tem alguma ideia desse problema?

valeu

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Galera,

Tenho a seguinte situacao....

são 2 tabelas: pedido e notafiscl

Precisao fazer um select que me retorne os dados delas, ate ai beleza...eu esbarrei em duas coisas

1. não estou conseguindo pegar o registro corrente(no caso, o atual da compra)

2 .Quando mando pegar o campo id_cliente (tabela pedido) ele não mostra o nome do cliente, mas sim o numero(ID), a unica tabela que tem o campo NOME é a tabela cliente(q não esta no select)

alguém tem alguma ideia desse problema?

valeu

1)Com certeza você está fazendo algo errado. Poste o código e a estrutura das tabeas para podermos te ajudar a construir este select.

2)Coloque a tabela cliente no select com inner join e você tera o nome do cliente.

Link para o comentário
Compartilhar em outros sites

  • 0

então Denis, a estrutura das tabelas são essas:

tabela: Pedido
campos:
id bigint(21) not null
id_cliente bigint(15) 

tabela: Boleto
campos:
id int(10) auto incr
nome_cliente   varchar (45)

tabela: Clientes  
campos:
codigo bigint(15) not null autoinc
nome carchar(50)
E o meu codigo fonte(que é em java) é esse:
Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/admgeral","adm-geral","teste" );

    
      Statement stmt = conn.createStatement();



      ResultSet rs = stmt.executeQuery( "SELECT c.codigo, p.id_cliente, p.total_geral, p.entrega_endereco, p.entregacep, p.entrega_cidade, p.entrega_estado, b.vencimento, b.n_numero,p.id_cliente, p.entrega_endereco, p.entrega_cidade, p.entrega_id_estado FROM cliente c, pedido p, notafiscal b where p.id_cliente=c.codigo order by p.id desc limit 1" );



    rs.next();
Double valor = new Double( rs.getDouble( "total_geral" ) );
    Date vencimento = rs.getDate("vencimento");
    Long nossoNum = new Long( rs.getLong( "n_numero" ) );
    String nomeSac = rs.getString( "id_Cliente" );
    String enderecoSac = rs.getString( "entrega_endereco" );
    String cepSac = rs.getString( "entregacep" );
    String cidadeSac = rs.getString( "entrega_cidade" );
    String estadoSac = rs.getString( "entrega_estado" );

Ai esta o codigo com problema...valeu pela força

Link para o comentário
Compartilhar em outros sites

  • 0

Oi 'andrests'

Segue seu código:

SELECT c.codigo, p.id_cliente, c.nome, p.total_geral, p.entrega_endereco, p.entregacep, p.entrega_cidade, p.entrega_estado, b.vencimento, p.entrega_id_estado 
FROM cliente c
INNER JOIN pedido p ON p.id_cliente = c.codigo 
ORDER BY p.id DESC LIMIT 1

Não há nenhuma referância na estrutura que você passou, que possibilite conectar notafiscal para que n_numero possa ser exibido

Em sua tabela de notafiscal, cuja estrutura não foi exibida aqui, deverá haver um atributo para o id_pedido.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...