consulta sql select com inner join quot;alexandre quot;

02/10/2009

0

ola boa tarde sou alexandre desenvolvedor em vb 6 ,esotu com seguinte problema tenho 2 tabelas em um banco dados access tabela pedidodevenda e pessoas utilizo a sql em vb

QSQL = ´SELECT P.NumDoc AS [Nº DOC], iif(pe.pessoa_fisica,nome,razao_social) as PESSOA, iif(pe.pessoa_fisica,nome,razao_social) as VENDEDOR, P.Data AS DATA,´
3 QSQL = QSQL & ´ Format$(p.totalpedido,´#,0.00´) as TOTALPEDIDO, IIF(P.PENDENTE=0,´FECHADO´,´PENDENTE´) AS SITUAÇÃO, P.Chave´
´QSQL = QSQL & ´ FROM PEDIDOSDEVENDA AS P INNER JOIN Pessoas pe ON P.ChavePessoa = Pe.Chave

preciso listar a pessoa e o vendedor nesses campos sao gravados numero da chave da pessoa ou vendedor mas somente aparece os campos se forem iguais .
ex: se chavepessoa=chave da tabela pessoa ok
se chavepessoa<>chavevendedor o campo chavepessoa e chavevendedor ficam iguais mesmo que seja diferente o numero da chave

gostaria de listar o vendedor e a pessoa do pedido
ex cod 1 pessoa alex vendedor carlos valor 15,00

preciso de ajuda uma solução sql vb


Vbnet

Vbnet

Responder

Posts

13/10/2009

Emerson Nascimento

deve ser algo assim:
SELECT
  P.NumDoc AS [Nº DOC],
  (case when pe.pessoa_fisica=´S´ then pe.nome else pe.razao_social end) as PESSOA,
  (case when ven.pessoa_fisica=´S´ then ven.nome else ven.razao_social end) as VENDEDOR,
  P.DATA,
  P.TOTALPEDIDO,
  (case when P.PENDENTE=0 then ´FECHADO´ else ´PENDENTE´ end) AS SITUAÇÃO,
  P.Chave
FROM PEDIDOSDEVENDA AS P
LEFT JOIN Pessoas Pe ON Pe.Chave = P.ChavePessoa
LEFT JOIN Pessoas Ve ON Ve.Chave = P.ChaveVendedor



Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar