Comando sql para 2 tabelas

7 respostas Resolvido
D

Boa tarde estou com dificuldades para executar um comando no sqlserver na tabela contas pagar tbContasPagar queria trazer Razao Social da tabela tbFornecedor de um único fornecedor até tentei segue o código abaixo

SELECT cp.*, f.razao_fornec FROM tbContasPagar cp, tbFornecedor f WHERE cp.cod_fornec = f.cod_fornec AND status_cPagar = ‘Aberto’ AND cod_fornec = ‘1’

e esta dando este erro

Mensagem 209, Nível 16, Estado 1, Linha 3
Nome da coluna ‘cod_fornec’ ambíguo.

7 Respostas

P

AND cp.cod_fornec = '1'

D

Já tinha testado olha como fica as razoes ficam erradas

se eu fizer f.cod_fornec = ‘2’ ai os cod do fornecedor fica errado

P

Falta esta condição nas últimas queries que enviaste…

T

Essas tabelas não possuem campo estrangeiro ?
Seria interessante você tratar isso com um campo estrangeiro caso faça parte do negócio. E busca esses dados com um join dai iria busca tudo de uma maneira bem correta. Caso queira limitar a busca como fez com o where você pode tá utilizando o having ou pode usar o where com having também acredito que de uma resultado melhor.

D

sim possui chave primaria e strangeira mais foi um que achei que deu certo não sei muito sql

achei isso posso usar

SELECT cr.*, c.nomeRazao_cli
FROM tbContasReceber cr
JOIN tbCliente c ON cr.cod_cli = c.cod_cli
WHERE cr.cod_cli = '1’
AND status_cReceber = ‘Aberto’

T
Solucao aceita

vou te da um exemplo de um join que eu fiz.
ver se funciona pra você.
vou criar aqui no meu código e você modifica para o seu.

bom vou te manda o codigo que eu fiz. e te explicar, não sou super experiente em banco de dados, mas é o que temos ne.

eu criei duas tabelas
rapidas vou lhe explicar o uso desse and que vc fez.

select cl.*, v.ven_id from cliente cl inner join venda v on cl.cli_id = v.ven_cli_id where cl.cli_id = 1 or cl.cli_nome like 'joy%' order by cli_nome;

no lugar do and usei o or.
porque o uso do or, ele vai buscar o que tem na primeira condição ou o que tem na segunda condição, ou seja se uma não satisfazer ele busca a outra.
ja no and ele so vai trazer a busca se as duas satisfazerem. as vezes não ira retorna nada por este motivo.

D

valeu ajudou bastante

Criado 7 de fevereiro de 2016
Ultima resposta 9 de fev. de 2016
Respostas 7
Participantes 3