Array
(
)

Gerando o nome no mesmo campo criado - query

Amarildo
   - 24 jan 2006

Ola Pessoal, estou tendo um pequeno problema no qual nao estou conseguindo resolver por isso solicito a ajuda e cooperação dos amigos do forum. Vou estar anexando o codigo fonte na query noqual estou usando para melhor entendimento: vamos lá.
Na ficha cadastral tenhoum campo chamado TIPOPESSOA ondeidentifico como CLIENTE ou EMITENTE, quando vou executar na query insiro a opção para gerar quando for cliente em as nomecliente e quando for o tipopessoa igual a EMITENTE vai gerar em nomeemitente, so que esta ocorrendo algo estranho, esta sendo gerado as duas situações no mesmo campo, caso alguem saiba como me ajudar. abaixo encontra-se a funcao no qual estou usando:

SELECT
CHEQUES.*,
CADCLI.CLI_NOME AS NOMECLIENTE, (-ira gerar o nome do cliente)
CADFOR.CLI_NOME AS NOMEFORNECEDOR,
CADREPRE.REP_NOME AS NOMEVENDEDOR
FROM CHEQUES, CADCLI, CADFOR, CADREPRE
WHERE
(CADCLI.CLI_TIPOPESSOA=´CLIENTE´) AND
(CHEQUES.CHQ_CODIGOCLIENTE = CADCLI.CLI_CPFGC) and
(CHEQUES.CHQ_CODIGODESTINATARIO = CADFOR.CLI_CPFGC) AND
(CHEQUES.CHQ_VENDEDOR = CADREPRE.REP_CODIGO)

UNION ALL

SELECT
CHEQUES.*,
CADCLI.CLI_NOME AS NOMEEMITENTE,
CADFOR.CLI_NOME AS NOMEFORNECEDOR,
CADREPRE.REP_NOME AS NOMEVENDEDOR
FROM CHEQUES, CADCLI, CADFOR, CADREPRE
WHERE
(CADCLI.CLI_TIPOPESSOA=´EMITENTE´) AND
(CHEQUES.CHQ_CODIGOEMITENTE = CADCLI.CLI_CPFGC) and
(CHEQUES.CHQ_CODIGODESTINATARIO = CADFOR.CLI_CPFGC) AND
(CHEQUES.CHQ_VENDEDOR = CADREPRE.REP_CODIGO)


Motta
   - 24 jan 2006

faça assim , crie duas colunas , (entre outras soluções)

#Código


SELECT
CHEQUES.*,
CADCLI.CLI_NOME AS NOMECLIENTE, (-ira gerar o nome do cliente)
´´ AS NOMEEMITENTE
CADFOR.CLI_NOME AS NOMEFORNECEDOR,
CADREPRE.REP_NOME AS NOMEVENDEDOR
FROM CHEQUES, CADCLI, CADFOR, CADREPRE
WHERE
(CADCLI.CLI_TIPOPESSOA="CLIENTE") AND
(CHEQUES.CHQ_CODIGOCLIENTE = CADCLI.CLI_CPFGC) and
(CHEQUES.CHQ_CODIGODESTINATARIO = CADFOR.CLI_CPFGC) AND
(CHEQUES.CHQ_VENDEDOR = CADREPRE.REP_CODIGO)

UNION ALL

SELECT
CHEQUES.*,
´´ AS NOMECLIENTE
CADCLI.CLI_NOME AS NOMEEMITENTE,
CADFOR.CLI_NOME AS NOMEFORNECEDOR,
CADREPRE.REP_NOME AS NOMEVENDEDOR
FROM CHEQUES, CADCLI, CADFOR, CADREPRE
WHERE
(CADCLI.CLI_TIPOPESSOA="EMITENTE") AND
(CHEQUES.CHQ_CODIGOEMITENTE = CADCLI.CLI_CPFGC) and
(CHEQUES.CHQ_CODIGODESTINATARIO = CADFOR.CLI_CPFGC) AND
(CHEQUES.CHQ_VENDEDOR = CADREPRE.REP_CODIGO)



Amarildo
   - 24 jan 2006

Ola Motta, inseri as linhas das quais havia descrito, só que esta ocorrendo esta mensagem TYPE MISMATCH IN EXPRESSION, onde sera que deva estar errado, poderia interpretar para mim, tentei encontrar mas como nunca usei o comando UNION estou me adaptando em aprender mais essa, no aguardo por sua ajuda e cooperação desde ja agradeço pela iniciativa e ajuda.


Motta
   - 24 jan 2006

Tente trocar as ´´ por ´´ ou NULL , ele não aceita que ´´ seja do mesmo tipo do nome.


Amarildo
   - 25 jan 2006

Ola, Motta obrg novamente, vou estar testando