Fórum Ajuda com Consulta #399524
21/04/2011
0
Agora deu nó na minha cabeça.....as vezes seja a hora.....
Bom não estou conseguindo saber resolver......
Tenho duas Tabelas (Adm_Proced_Formularios) onde fica gravado o procedimento para o determinado formulário e tenho a tabela (Adm_Proced_Empresa) que são a liberação do procedimento que está no Adm_Proced_Formularios por empresa.
Ai to tentando fazer uma consulta nele assim....pegando o que tenho no Adm_Proced_Formularios filtrando somente de um formulario e empresa e fazendo um Inner Join com o Adm_Proced_Empresa, porque ai caso não tenha nesse o valor na coluna EpdValor do Adm_Proced_Empresa eu pego do campo PrfValor da tabela Adm_Proced_Formularios, porem mesmo eu colocando um filtro para pegar só daquele formulario e da empresa mostra tudo.....
aglém pode dar uma ajuda ?
o codigo que estava tentando é esse abaixo
o resultado traz assim
e tinha que trazer assim
Bom não estou conseguindo saber resolver......
Tenho duas Tabelas (Adm_Proced_Formularios) onde fica gravado o procedimento para o determinado formulário e tenho a tabela (Adm_Proced_Empresa) que são a liberação do procedimento que está no Adm_Proced_Formularios por empresa.
Ai to tentando fazer uma consulta nele assim....pegando o que tenho no Adm_Proced_Formularios filtrando somente de um formulario e empresa e fazendo um Inner Join com o Adm_Proced_Empresa, porque ai caso não tenha nesse o valor na coluna EpdValor do Adm_Proced_Empresa eu pego do campo PrfValor da tabela Adm_Proced_Formularios, porem mesmo eu colocando um filtro para pegar só daquele formulario e da empresa mostra tudo.....
aglém pode dar uma ajuda ?
o codigo que estava tentando é esse abaixo
Formulario := 'PESCAD001';
with Dtm.QryProcedimentos do
begin
close;
sql.Clear;
sql.Add('Select F.ProCodigo, F.PrfValor, F.PrfProcedimento, F.PrfFormulario, E.ProCodigo, E.EpdValor, E.EmpCodigo');
sql.Add(' From Adm_Proced_Formularios F left Outer Join Adm_Proced_Empresa E ON F.ProCodigo = E.ProCodigo and');
sql.Add(' F.PrfFormulario =:For and E.EmpCodigo =:Emp');
ParamByName('For').AsString := Formulario;
ParamByName('Emp').AsString := PRI_EmpCodigo;
open;
end;
o resultado traz assim
PROCODIGO PRFVALOR PRFPROCEDIMENTO PRFFORMULARIO PROCODIGO1 EPDVALOR EMPCODIGO 12 P PRO_PES_TP_PRODUTO PROPES001 15 1 PRD_PRECO_PADRAO PROPES001 13 1 ADM_PAIS_PADRAO INNCAD004 17 PRD_ESPECIE_PADRAO PROCAD001 18 N ADM_EMPRESA_LOGADA PROCAD001 16 R;D PRD_MOEDA_PADRAO PROCAD001 20 PRD_EMPRESAS_PRD PROPES001 19 300 PRD_QTD_CARACT_DESC_ETIQ PROCAD001 21 PRD_SEQ_CODBARRA PROCAD001 1 CLI PES_TP_CAD_PESSOA PESCAD001 1 1 2 N PES_OBG_DOCUMENTO PESCAD001 3 N PES_OBG_CPF PESCAD001 3 S 1 4 N PES_OBG_CNPJ PESCAD001 5 N PES_OBG_IE_REG PESCAD001 6 N PES_OBG_END PESCAD001 13 1 ADM_PAIS_PADRAO PESCAD001 13 1 1 7 S PRO_CON_TAM_COR PROCAD001 8 S PRO_BLOQ_TP_PRODUTO PROCAD001 9 N PRO_FAT_SEM_ESTOQUE PROCAD001 10 Q PRO_CON_QTD_METROS PROCAD001 11 P PRO_TP_PRODUTO PROCAD001 12 P PRO_PES_TP_PRODUTO PROCAD001
e tinha que trazer assim
PROCODIGO PRFVALOR PRFPROCEDIMENTO PRFFORMULARIO PROCODIGO1 EPDVALOR EMPCODIGO 1 CLI PES_TP_CAD_PESSOA PESCAD001 1 1 2 N PES_OBG_DOCUMENTO PESCAD001 3 N PES_OBG_CPF PESCAD001 3 S 1 4 N PES_OBG_CNPJ PESCAD001 5 N PES_OBG_IE_REG PESCAD001 6 N PES_OBG_END PESCAD001 13 1 ADM_PAIS_PADRAO PESCAD001 13 1 1
Robson Morais
Curtir tópico
+ 0
Responder
Posts
21/04/2011
Robson Morais
sobe
Responder
Gostei + 0
25/04/2011
Wilson Junior
Achei um pouco confuso a sua explicação, você pode colocar a definição das suas tabelas (com as PK e FK), e coloque o que você quer de resultado.
Aguardo retorno.
Aguardo retorno.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)