Gerando o nome no mesmo campo criado - query
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
([b:bc86434ba7]CADCLI.CLI_TIPOPESSOA=´CLIENTE[/b:bc86434ba7]´) AND
([b:bc86434ba7]CHEQUES.CHQ_CODIGOCLIENTE = CADCLI.CLI_CPFGC[/b:bc86434ba7]) and
(CHEQUES.CHQ_CODIGODESTINATARIO = CADFOR.CLI_CPFGC) AND
(CHEQUES.CHQ_VENDEDOR = CADREPRE.REP_CODIGO)
UNION ALL
SELECT
CHEQUES.*,
CADCLI.CLI_NOME [b:bc86434ba7]AS NOMEEMITENTE[/b:bc86434ba7],
CADFOR.CLI_NOME AS NOMEFORNECEDOR,
CADREPRE.REP_NOME AS NOMEVENDEDOR
FROM CHEQUES, CADCLI, CADFOR, CADREPRE
WHERE
([b:bc86434ba7]CADCLI.CLI_TIPOPESSOA=´EMITENTE[/b:bc86434ba7]´) AND
([b:bc86434ba7]CHEQUES.CHQ_CODIGOEMITENTE = CADCLI.CLI_CPFGC[/b:bc86434ba7]) and
(CHEQUES.CHQ_CODIGODESTINATARIO = CADFOR.CLI_CPFGC) AND
(CHEQUES.CHQ_VENDEDOR = CADREPRE.REP_CODIGO)
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
([b:bc86434ba7]CADCLI.CLI_TIPOPESSOA=´CLIENTE[/b:bc86434ba7]´) AND
([b:bc86434ba7]CHEQUES.CHQ_CODIGOCLIENTE = CADCLI.CLI_CPFGC[/b:bc86434ba7]) and
(CHEQUES.CHQ_CODIGODESTINATARIO = CADFOR.CLI_CPFGC) AND
(CHEQUES.CHQ_VENDEDOR = CADREPRE.REP_CODIGO)
UNION ALL
SELECT
CHEQUES.*,
CADCLI.CLI_NOME [b:bc86434ba7]AS NOMEEMITENTE[/b:bc86434ba7],
CADFOR.CLI_NOME AS NOMEFORNECEDOR,
CADREPRE.REP_NOME AS NOMEVENDEDOR
FROM CHEQUES, CADCLI, CADFOR, CADREPRE
WHERE
([b:bc86434ba7]CADCLI.CLI_TIPOPESSOA=´EMITENTE[/b:bc86434ba7]´) AND
([b:bc86434ba7]CHEQUES.CHQ_CODIGOEMITENTE = CADCLI.CLI_CPFGC[/b:bc86434ba7]) and
(CHEQUES.CHQ_CODIGODESTINATARIO = CADFOR.CLI_CPFGC) AND
(CHEQUES.CHQ_VENDEDOR = CADREPRE.REP_CODIGO)
Amarildo
Curtidas 0
Respostas
Motta
24/01/2006
faça assim , crie duas colunas , (entre outras soluções)
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)
GOSTEI 0
Amarildo
24/01/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.
GOSTEI 0
Motta
24/01/2006
Tente trocar as ´´ por ´´ ou NULL , ele não aceita que ´´ seja do mesmo tipo do nome.
GOSTEI 0
Amarildo
24/01/2006
Ola, Motta obrg novamente, vou estar testando
GOSTEI 0