- Fórum
- Protheus/Microsiga/Totvs
- Instalação e Configuração Protheus
- Banco de Dados
- Duvida no select SQL
Perguntas Duvida no select SQL
- ODIEGO
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 50
- Obrigados Recebidos: 0
10 anos 4 meses atrás #23375
por ODIEGO
Duvida no select SQL foi criado por ODIEGO
Bom Dia,
Alguem pode me ajudar com uma query.....
Se o tipo da nota for B-beneficiamento ou D-devolução, compara no SA1
senão compara no SA2.....isso para pegar os dados do cliente ou do fornecedor.....
SELECT F1_FILIAL, F1_DOC, F1_SERIE, F1_FORNECE, A1_COD, A2_COD, F1_LOJA, A1_LOJA, A2_LOJA, A2_NOME, F1_EMISSAO, F1_DTDIGIT, F1_ESPECIE, F1_TIPO, F1_FORMUL, F1_USUARIO, F1_CHVNFE, F1_USITNFE, F1_UNFECON
FROM SF1010, SA1010, SA2010
WHERE F1_FILIAL = '02'
AND F1_DTDIGIT >= '20140623' AND F1_DTDIGIT <= '20140625'
AND F1_FORMUL <> 'S'
AND F1_ESPECIE IN ('SPED','CTE')
-- se o F1_TIPO IN ('B','D')
AND F1_FORNECE = A1_COD
AND F1_LOJA = A1_LOJA
-- F1_TIPO (ou qualquer outro tipo pega do SA2)
AND F1_FORNECE = A2_COD
AND F1_LOJA = A2_LOJA
AND SF1010.D_E_L_E_T_ = ''
AND SA1010.D_E_L_E_T_ = ''
AND SA2010.D_E_L_E_T_ = ''
ORDER BY F1_DOC
Obrigado.
Alguem pode me ajudar com uma query.....
Se o tipo da nota for B-beneficiamento ou D-devolução, compara no SA1
senão compara no SA2.....isso para pegar os dados do cliente ou do fornecedor.....
SELECT F1_FILIAL, F1_DOC, F1_SERIE, F1_FORNECE, A1_COD, A2_COD, F1_LOJA, A1_LOJA, A2_LOJA, A2_NOME, F1_EMISSAO, F1_DTDIGIT, F1_ESPECIE, F1_TIPO, F1_FORMUL, F1_USUARIO, F1_CHVNFE, F1_USITNFE, F1_UNFECON
FROM SF1010, SA1010, SA2010
WHERE F1_FILIAL = '02'
AND F1_DTDIGIT >= '20140623' AND F1_DTDIGIT <= '20140625'
AND F1_FORMUL <> 'S'
AND F1_ESPECIE IN ('SPED','CTE')
-- se o F1_TIPO IN ('B','D')
AND F1_FORNECE = A1_COD
AND F1_LOJA = A1_LOJA
-- F1_TIPO (ou qualquer outro tipo pega do SA2)
AND F1_FORNECE = A2_COD
AND F1_LOJA = A2_LOJA
AND SF1010.D_E_L_E_T_ = ''
AND SA1010.D_E_L_E_T_ = ''
AND SA2010.D_E_L_E_T_ = ''
ORDER BY F1_DOC
Obrigado.
Por favor Acessar ou Registrar para participar da conversa.
- inocenciojr
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 114
- Obrigados Recebidos: 1
10 anos 4 meses atrás #23378
por inocenciojr
Respondido por inocenciojr no tópico Duvida no select SQL
Bom dia Diego,
Não conheço muito de SQL, mas vamos lá...
Esse select você está fazendo dentro de algum fonte ou está fazendo direto no Banco (Via SDU ou SGBD)?
Acredito que seria necessário criar uma função SQL pra fazer isso que quer dentro do Select. Agora se estiver fazendo via código, basta colocar alguns IF's dentro do Where.
Exemplo:
cTipo := F1_TIPO
...
cQuery := "WHERE "+
If cTipo $ ('B','D')
cQuery := "AND F1_FORNECE = A1_COD"
cQuery := "AND F1_LOJA = A1_LOJA"
Else
cQuery := "AND F1_FORNECE = A2_COD"
cQuery := "AND F1_LOJA = A2_LOJA"
EndIf
...
Não conheço muito de SQL, mas vamos lá...
Esse select você está fazendo dentro de algum fonte ou está fazendo direto no Banco (Via SDU ou SGBD)?
Acredito que seria necessário criar uma função SQL pra fazer isso que quer dentro do Select. Agora se estiver fazendo via código, basta colocar alguns IF's dentro do Where.
Exemplo:
cTipo := F1_TIPO
...
cQuery := "WHERE "+
If cTipo $ ('B','D')
cQuery := "AND F1_FORNECE = A1_COD"
cQuery := "AND F1_LOJA = A1_LOJA"
Else
cQuery := "AND F1_FORNECE = A2_COD"
cQuery := "AND F1_LOJA = A2_LOJA"
EndIf
...
Por favor Acessar ou Registrar para participar da conversa.
- ODIEGO
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 50
- Obrigados Recebidos: 0
- henry.charriere
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 492
- Obrigados Recebidos: 0
10 anos 4 meses atrás #23381
por henry.charriere
Respondido por henry.charriere no tópico Duvida no select SQL
Diego, bom dia!
Faz uma sub consulta e um case pra pegar os nomes de clientes e fornecedores...
Atc,
Henry
Faz uma sub consulta e um case pra pegar os nomes de clientes e fornecedores...
Atc,
Henry
Por favor Acessar ou Registrar para participar da conversa.
- henry.charriere
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 492
- Obrigados Recebidos: 0
10 anos 4 meses atrás #23382
por henry.charriere
Respondido por henry.charriere no tópico Duvida no select SQL
Por favor Acessar ou Registrar para participar da conversa.
- ODIEGO
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 50
- Obrigados Recebidos: 0
- Fórum
- Protheus/Microsiga/Totvs
- Instalação e Configuração Protheus
- Banco de Dados
- Duvida no select SQL
Tempo para a criação da página:0.156 segundos