rubenmsoares
Power Member
Estou a selecionar 3 tabelas no botão de pesquisa
Tabela 1 sfid_nif
Tabela 2 cliente
Tabela 3 contagsm1
Nas tabelas sfid_nif e cliente existe sempre valor, pois quando insero um registo ele guarde o nif nas duas tabelas, contudo na tabela 3 (contagsm1) pode não existir valor, porque trata-se de um número de conta do nif.
O cliente(nif) só tem conta quando é criado uma, contudo o cliente pode já existir na base dados.
O problema está, ao executar o comando de cima e caso não exista o valor contagsm1.fidnif ele o resultadoé que o cliente não existe, quando na realidade existe, o problema está no fato de o mesmo ainda não ter conta criada e então não existe o nif na tabela de contagsm1
Tentei criar o código:
strSQL = "SELECT * FROM contagsm1.fidnif, sfid_nif.fidnif, cliente.nif
CASE
WHEN contagsm1.fidnif > 0 THEN
JOIN
sfid_nif.fidnif ON contagsm1.fidnif=sfid_nif.fidnif
LEFT JOIN cliente.nif ON contagsm1.fidnif=cliente.nif
ELSE
sfid_nif.fidnif ON cliente.nif=sfid_nif.fidnif
END AS contagsm1.fidnif
WHERE contagsm1.fidnif=@fidnif AND sfid_nif.fidnif=@fidnif AND fidsfid=@fidsfid "
O objéctivo é: Caso contagsm1.fidnif tenha valor superior a 0 então trás os valores das tabelas contagsm1.fidnif + sfid_nif.fidnif + cliente.nif
Caso não encontre trás so os valores das tabelas sfid_nif.fidnif + cliente.nif
Não funcionou
Alguém ajuda-me?
Tabela 1 sfid_nif
Tabela 2 cliente
Tabela 3 contagsm1
Nas tabelas sfid_nif e cliente existe sempre valor, pois quando insero um registo ele guarde o nif nas duas tabelas, contudo na tabela 3 (contagsm1) pode não existir valor, porque trata-se de um número de conta do nif.
O cliente(nif) só tem conta quando é criado uma, contudo o cliente pode já existir na base dados.
O problema está, ao executar o comando de cima e caso não exista o valor contagsm1.fidnif ele o resultadoé que o cliente não existe, quando na realidade existe, o problema está no fato de o mesmo ainda não ter conta criada e então não existe o nif na tabela de contagsm1
Tentei criar o código:
strSQL = "SELECT * FROM contagsm1.fidnif, sfid_nif.fidnif, cliente.nif
CASE
WHEN contagsm1.fidnif > 0 THEN
JOIN
sfid_nif.fidnif ON contagsm1.fidnif=sfid_nif.fidnif
LEFT JOIN cliente.nif ON contagsm1.fidnif=cliente.nif
ELSE
sfid_nif.fidnif ON cliente.nif=sfid_nif.fidnif
END AS contagsm1.fidnif
WHERE contagsm1.fidnif=@fidnif AND sfid_nif.fidnif=@fidnif AND fidsfid=@fidsfid "
O objéctivo é: Caso contagsm1.fidnif tenha valor superior a 0 então trás os valores das tabelas contagsm1.fidnif + sfid_nif.fidnif + cliente.nif
Caso não encontre trás so os valores das tabelas sfid_nif.fidnif + cliente.nif
Não funcionou
Alguém ajuda-me?