Página 1 de 1

Outro que não deu certo, selecionar o que não tem

Enviado: 06 Abr 2024 18:38
por JoséQuintas

Código: Selecionar todos

         :cSQL := "SELECT PCPRODUTO, PCFORPAG, PCURGENTE, IENOME, FORPAGNOME" + ;
            " FROM JPPRECO" + ;
            " LEFT JOIN JPITEM ON IDPRODUTO=PCPRODUTO" + ;
            " LEFT JOIN JPTABFORPAG ON IDFORPAG=PCFORPAG" + ;
            " WHERE PCCADASTRO = " + NumberSQL( nIdCadastro ) + ;
            " AND NOT PCPRODUTO, PCFORPAG, PCURGENTE IN" + ;
            " ( SELECT PCPRODUTO, PCFORPAG, PCURGENTE" + ;
            " FROM JPPRECO WHERE PCCADASTRO = " + NumberSQL( cnSQLGeral:Number( "PCCADASTRO" ) ) + " )"
selecionar tabelas de uma empresa que não tem na outra.
3 campos: produto, forma de pagamento e urgente
Por acaso entendi errado o uso ?

Outro que não deu certo, selecionar o que não tem

Enviado: 06 Abr 2024 18:54
por JoséQuintas
mudei pra isto

Código: Selecionar todos

SELECT a.PCPRODUTO, a.PCFORPAG, a.PCURGENTE, IENOME, FORPAGNOME
FROM jppreco AS A
LEFT JOIN JPITEM ON IDPRODUTO=a.PCPRODUTO
LEFT JOIN JPTABFORPAG ON IDFORPAG=a.PCFORPAG
LEFT JOIN jppreco AS B ON a.pcproduto=b.pcproduto AND a.pcforpag=b.pcforpag AND a.pcurgente=b.pcurgente AND b.pccadastro=84053
WHERE a.PCCADASTRO = 85430 AND b.pcproduto IS null

Outro que não deu certo, selecionar o que não tem

Enviado: 06 Abr 2024 19:30
por JoséQuintas
E vamos complicar:

Aí é uma empresa, agora fazer pra várias...

O caso acima é pra validar um código digitado.

Mas também pego a lista de todas que podem ser adicionadas, e a condição acima seria impeditiva.