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