Duvida a respeito de como uma tabela pegar dados da outra via sql select

7 respostas
gutorocher
Bom Dia   
estou com uma serta duvida de como fazer isto tenho tres    
tabelas no postgresql   
  
=============================   
TABELA CARRO   
=============================   
  codigo serial    
  descricao character varying(255)    
  ano_fab integer    
  ano_modelo integer    
  cor_predominante character varying(200)    
  nr_placa character varying(7)    
  nr_renavam character varying(80)    
  proprietario integer    
  ============================   
  
=======================   
TABELA USUARIO   
=======================   
  codigo serial    
  nome character varying(200)    
  sexo character(1)    
  cpf character varying(11)    
  endereco character varying(255)   
  cidade integer NOT NULL,   
  bairro character varying(200)    
  fone1 character varying(15)    
  fone2 character varying(15)    
=======================   
  
=====================   
TABELA VENDA   
=====================   
  [b]carro integer    
  usuario integer [/b]    
  data_venda date    
  valor_total numeric(7,2)    
  condicao_pagamento integer    
  codigo serial    
=======================   
  
SENDO O PROBLEMA É QUE A TABELA VENDA TEMQUE PUCHAR OS
 DADOS DA TABELA USUARIO E CARRO
MOSTRANDO OS DADOS DO MESMO VIA O COMANDO SQL SELECT.....

FICANDO ALGO ASSIM

=================
TABELA VENDA
============================
carro || usuario ||data_venda||valor_total||
============================
gol    ||  Manuel || 200-08-25||   150.89   ||
============================

=====================
condicao_pagamento|| codigo ||
=====================
       7                      ||      1   ||
=====================


DESDE JA AGRADEÇO 
A TODOS ATENSIOSAMENTE.

7 Respostas

peczenyj

Boa pesquisa:
http://www.w3schools.com/sql/sql_join.asp

gutorocher
SELECT carro.descricao as Carro , usuario.nome as nomeUsuario , venda.data_venda ,
venda.valor_total , venda.condicao_pagamento , venda.codigo 
from venda , carro,usuario where venda.carro = carro.codigo;

o que tem de errado que repete o codigo 1 varias vezes o 2 varias vezes...
mostrando assim isso so uma parte pois aqui ja tenho inserido na base de dados 10

"gol";"Juana";"2007-08-16";150.25;8;1
"gol";"Manuel";"2007-08-16";150.25;8;1
"gol";"Francisco";"2007-08-16";150.25;8;1
"gol";"Marcia";"2007-08-16";150.25;8;1
"gol";"Manuela";"2007-08-16";150.25;8;1
"gol";"Maira Duarte Almeida";"2007-08-16";150.25;8;1
"Palio";"Juana";"2007-09-19";450.90;12;2
"Palio";"Manuel";"2007-09-19";450.90;12;2
"Palio";"Francisco";"2007-09-19";450.90;12;2
"Palio";"Marcia";"2007-09-19";450.90;12;2
"Palio";"Manuela";"2007-09-19";450.90;12;2
"Palio";"Maira Duarte Almeida";"2007-09-19";450.90;12;2
"gol";"Juana";"2007-09-21";250.69;2;8
"gol";"Manuel";"2007-09-21";250.69;2;8
"gol";"Francisco";"2007-09-21";250.69;2;8
"gol";"Marcia";"2007-09-21";250.69;2;8
"gol";"Manuela";"2007-09-21";250.69;2;8
"gol";"Maira Duarte Almeida";"2007-09-21";250.69;2;8
gutorocher
no postgresql o comando sql abaixo funciona perfeitamente

"SELECT c.descricao, u.nome, v.data_venda ,"
+ "v.valor_total, v.condicao_pagamento, v.codigo" 
+ "from venda v, carro c, usuario u" 
+ "where v.carro = c.codigo and v.usuario = u.codigo";

mas quando executo no java ocorre erro
peczenyj

Vou falar de forma irônica

- Alo, consultório médico
- Doutor, é a primeira vez que ligo, nunca nos vimos...
- Pronto, me diga o que esta sentindo.
- me sinto mal...
- Ah, tome um chá de joaçaba com mel e 2 anti-coagulantes
- Certo, e quanto a isso aqui na minha perna?
- Humm... vamos ter que operar. Ou espera uma semana que passa...

Vou falar de forma não-irônica.

Vc não acha que esta descrevendo os seus problemas de uma forma muito superficial?

gutorocher

obrigado pela ajuda..... quebrei muitp a cabeça mais o melhor é que agora funcionou perfeitamente!!

Ironlynx

Não manjo de PostGRESQL, mas acho que para evitar a duplicidade das colunas, dá para usar distinct após o select não?

Com esse bando de “+”, espero que vc não esteja usando Statement… :lol:

peczenyj

o distinct pode encobrir um select mal feito, geralmente quando falta alguma coisa na clausula where.

Criado 22 de setembro de 2007
Ultima resposta 22 de set. de 2007
Respostas 7
Participantes 3