Estou encontrando dificuldades em resolver o seguinte problema:
Devo gerar um relatório que mostre os campos:
ID, CLIENTE, PRAZO, ASSUNTO, TAREFA e QUEMDESIGN da tabela Tarefas e NOME da tabela Cedente.
Só que o problema reside que para obter o nome do cedente, eu devo pegar o IDPROPOSTA na tabela Tarefas, relacionar com IDCEDENTE na tabela Propostas e, com isso, relacionar com NOME na tabela Cedente.
Fiz o seguinte código:
-- inserindo dados na tabela temporária relatorio
INSERT into relatorio (ID, CLIENTE, PRAZO, ASSUNTO, TAREFA, QUEMDESIGN, CEDENTE)
(select tarefas.ID,
tarefas.CLIENTE,
tarefas.PRAZO,
tarefas.ASSUNTO,
tarefas.TAREFA,
tarefas.QUEMDESIGN,
cedente.NOME
From tarefas , propostas, cedente
where
-- aqui eu tento realizar uma 'gambiarra' para fazer as comparações e retornar o nome do Cedente
(tarefas.idproposta = propostas.idcedente
and propostas.idcedente = cedente.id)
-- aqui faz o filtro dos dados que o usuário digitou para gerar o relatório
and if(@idclie>0, IDCLIENTE=@idclie, 1=1)
and if(trim('[DATA1]')<>'', PRAZO>='[DATA1]', 1=1)
and if(trim('[DATA2]')<>'', PRAZO<='[DATA2]', 1=1)
Pergunta
Hegon Felipe
Bom dia.
Estou encontrando dificuldades em resolver o seguinte problema:
Devo gerar um relatório que mostre os campos:
ID, CLIENTE, PRAZO, ASSUNTO, TAREFA e QUEMDESIGN da tabela Tarefas e NOME da tabela Cedente.
Só que o problema reside que para obter o nome do cedente, eu devo pegar o IDPROPOSTA na tabela Tarefas, relacionar com IDCEDENTE na tabela Propostas e, com isso, relacionar com NOME na tabela Cedente.
Fiz o seguinte código:
-- inserindo dados na tabela temporária relatorio
INSERT into relatorio (ID, CLIENTE, PRAZO, ASSUNTO, TAREFA, QUEMDESIGN, CEDENTE)
(select tarefas.ID,
tarefas.CLIENTE,
tarefas.PRAZO,
tarefas.ASSUNTO,
tarefas.TAREFA,
tarefas.QUEMDESIGN,
cedente.NOME
From tarefas , propostas, cedente
where
-- aqui eu tento realizar uma 'gambiarra' para fazer as comparações e retornar o nome do Cedente
(tarefas.idproposta = propostas.idcedente
and propostas.idcedente = cedente.id)
-- aqui faz o filtro dos dados que o usuário digitou para gerar o relatório
and if(@idclie>0, IDCLIENTE=@idclie, 1=1)
and if(trim('[DATA1]')<>'', PRAZO>='[DATA1]', 1=1)
and if(trim('[DATA2]')<>'', PRAZO<='[DATA2]', 1=1)
-- faz a ordenação
ORDER BY CLIENTE,PRAZO
);
Quem puder me auxiliar, eu agradeço desde já.
Abraços;
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.