Query..duas tabelas..mysql

10 respostas
T

Query..duas tabelas

Pessoal,

Tem uma query da seguinte maneira:

String query = "select * from nfiscais where id='" + id+"'";

Alteração

[code]
try {
String query = "update nfiscais "+ "set cod_descricao = " + cod_descricao + ", "+ "id_nota = '" + id_nota + "', " + "valor= '" + valor + "', " + "codigo = '"+ codigo +"' "+
"where id = " + id + " ";

[code]

Ate ai ok, aconteceu que, o select (consulta, alteracao) esta pegando de uma só tabela(tabela_saida)

que temos campos: id_nota, codigo, valor, cod_descricao

Ele faz a consulta e me retorna o resultado, ok

Mas preciso que ele me de a descricao do campo id_nota..

Este campo com a descricao esta em outra tabela, o nome do campo é descricao,

Porque senao, quando peço para ele exibir a consulta, ele só me retorna o codigo da descricao..(cod_descricao)

Voces tem alguma ideia do que posssa fazer?

obrigada

10 Respostas

romarcio

Ta meio dificil de entender o que vc quer.

Você precisa de um SELECT entre as duas tabelas que retorne essa informação ? É isso ?

dsystem

tatiana.sch,

Você só está passando uma tabela tanto no select quanto no update.

Talvez tua pergunta esteja um pouco confusa.

Tente se expressar melhor para que possamos te dar uma ajuda melhor. Outra coisa, o que é string o que é int?

tralsl

que tal

select  nfiscais.id_nota, nfiscais.codigo, nfiscais.valor, outra_tabela.descricao
left join outra_tabela on outra_tabela.cod_descricao = nfiscais.cod_descricao
where nfiscais.id = <seu id>
S

Deve ser algo do tipo que vc quer…

“select nfiscais.*, descricao.descricao from nfiscais
inner join descricao on nfiscais.cod_descricao = descricao.cod_descricao
where id=’” + id+"’"

T

Obrigada pela ajuda pessoal,

Explicando melhor…

Eu tenho duas tabelas… nfiscais e vendas

o select e o update estao buscando dados somente da tabela nfiscais

Acontece que o campo que mostra a descriacao da nota esta na tabela vendas

Logo, o select e update que passei, só esta pegando dados da tabela nfiscais

Parece que preciso usar Inner Join…mas esta acusando erro direto na hora que tento montar esta query…

Creio que ficou mais claro a explicacao …

tralsl

tatiana.sch:

Obrigada pela ajuda pessoal,

Explicando melhor…

Eu tenho duas tabelas… nfiscais e vendas

o select e o update estao buscando dados somente da tabela nfiscais

Acontece que o campo que mostra a descriacao da nota esta na tabela vendas

Logo, o select e update que passei, só esta pegando dados da tabela nfiscais

Parece que preciso usar Inner Join…mas esta acusando erro direto na hora que tento montar esta query…

Creio que ficou mais claro a explicacao …

sim, precisa de um join

poste a sua query com o join e os erros

dsystem

Tem alguma outra tabela que faz ligação das duas ou alguma chave estrangeira?

Poste o código que você fez e erro que deu.

=]

T

Entao pessoal,

Olhando a documentacao, consegui arrumar a linha da consulta !

Só na hora que vou alterar(update) o campo descricao que ele acusa erro…

A chave estrangeira é: id nfiscais e codigo [b] vendas

dsystem

Qual erro ele esta acusando?

Posta o seu código de update que fica mais fácil de sabermos.

romarcio

Vou colocar um exemplo para vc de como alterar 2 tabelas no mesmo update.

update  contatos c,  telefones t
set
    //update no campo telefone da tabela telefones 
    t.telefone = '055-91456899', 
    //update no campo apelido da tabela contatos
    c.apelido = 'nick'
where 
        //aqui eu testo se o id_contato na tabela contatos é igual ao da tabela telefones(onde id_contato é chave estrangeira)
        c.id_contato = t.id_contato and
        //aqui informo qual id_contato deve ser alterado
        c.id_contato = 12

Mas seria bem mais facil vc postar o seu Update para identificarmos o erro.

Criado 1 de julho de 2010
Ultima resposta 1 de jul. de 2010
Respostas 10
Participantes 5