Array
(
)

consulta sql select com inner join quot;alexandre quot;

Vbnet
   - 02 out 2009

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

Emerson
   - 13 out 2009

deve ser algo assim:
#Código

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