Perguntas Ajuda Query
- jcesar1299
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 53
- Obrigados Recebidos: 0
10 anos 9 meses atrás #20261
por jcesar1299
Ajuda Query foi criado por jcesar1299
Pessoal, bom dia!
Fiz a query abaixo e preciso criar uma coluna depois do campo SD2.D2_TOTAL.
Preciso trazer a mesma informação que está na SD2.D2_TOTAL mais só quando SF4.F4_DUPLIC for = “S”.
Alguém poderia me ajudar.
Obrigado a todos!!!
SELECT
D1_COD,
D1_TOTAL,
D1_TES,
D1_FORNECE,
SA2.A2_NOME,
D1_DOC,
D1_EMISSAO,
D1_DTDIGIT,
D1_NFORI,
SA1.A1_COD,
SA1.A1_NOME,
SF2.F2_TPFRETE,
SD2.D2_COD,
SC6.C6_DESCRI,
SD2.D2_TES,
SF4.F4_TEXTO,
SF4.F4_DUPLIC,
SD2.D2_QUANT,
SD2.D2_PRCVEN,
SD2.D2_TOTAL
FROM SD1010 AS SD1
INNER JOIN SA2010 AS SA2 ON SD1.D1_FORNECE = SA2.A2_COD
INNER JOIN SF2010 AS SF2 ON SD1.D1_NFORI = SF2.F2_DOC
INNER JOIN SA1010 AS SA1 ON SF2.F2_CLIENTE = SA1.A1_COD
INNER JOIN SD2010 AS SD2 ON SF2.F2_DOC + SF2.F2_CLIENTE = SD2.D2_DOC + SD2.D2_CLIENTE
INNER JOIN SC6010 AS SC6 ON SD2.D2_PEDIDO+SD2.D2_COD+SD2.D2_ITEM = SC6.C6_NUM+SC6.C6_PRODUTO+SC6.C6_ITEM
INNER JOIN SF4010 AS SF4 ON SD2.D2_TES = SF4.F4_CODIGO
WHERE
--(SD1.D1_NFORI = '000042548')AND
--(D1_COD = 'SEV00001') AND
(SF2.F2_SERIE = '1') AND
(SD2.D2_SERIE = '1') AND
--(SC6.C6_SERIE = '1') AND
D1_NFORI <> '' AND
D1_EMISSAO >= '20140101' AND
SD1.D_E_L_E_T_ <> '*' AND
SF2.D_E_L_E_T_ <> '*' AND
SA1.D_E_L_E_T_ <> '*' AND
SD2.D_E_L_E_T_ <> '*' AND
SC6.D_E_L_E_T_ <> '*'
ORDER BY D2_TES ASC
Fiz a query abaixo e preciso criar uma coluna depois do campo SD2.D2_TOTAL.
Preciso trazer a mesma informação que está na SD2.D2_TOTAL mais só quando SF4.F4_DUPLIC for = “S”.
Alguém poderia me ajudar.
Obrigado a todos!!!
SELECT
D1_COD,
D1_TOTAL,
D1_TES,
D1_FORNECE,
SA2.A2_NOME,
D1_DOC,
D1_EMISSAO,
D1_DTDIGIT,
D1_NFORI,
SA1.A1_COD,
SA1.A1_NOME,
SF2.F2_TPFRETE,
SD2.D2_COD,
SC6.C6_DESCRI,
SD2.D2_TES,
SF4.F4_TEXTO,
SF4.F4_DUPLIC,
SD2.D2_QUANT,
SD2.D2_PRCVEN,
SD2.D2_TOTAL
FROM SD1010 AS SD1
INNER JOIN SA2010 AS SA2 ON SD1.D1_FORNECE = SA2.A2_COD
INNER JOIN SF2010 AS SF2 ON SD1.D1_NFORI = SF2.F2_DOC
INNER JOIN SA1010 AS SA1 ON SF2.F2_CLIENTE = SA1.A1_COD
INNER JOIN SD2010 AS SD2 ON SF2.F2_DOC + SF2.F2_CLIENTE = SD2.D2_DOC + SD2.D2_CLIENTE
INNER JOIN SC6010 AS SC6 ON SD2.D2_PEDIDO+SD2.D2_COD+SD2.D2_ITEM = SC6.C6_NUM+SC6.C6_PRODUTO+SC6.C6_ITEM
INNER JOIN SF4010 AS SF4 ON SD2.D2_TES = SF4.F4_CODIGO
WHERE
--(SD1.D1_NFORI = '000042548')AND
--(D1_COD = 'SEV00001') AND
(SF2.F2_SERIE = '1') AND
(SD2.D2_SERIE = '1') AND
--(SC6.C6_SERIE = '1') AND
D1_NFORI <> '' AND
D1_EMISSAO >= '20140101' AND
SD1.D_E_L_E_T_ <> '*' AND
SF2.D_E_L_E_T_ <> '*' AND
SA1.D_E_L_E_T_ <> '*' AND
SD2.D_E_L_E_T_ <> '*' AND
SC6.D_E_L_E_T_ <> '*'
ORDER BY D2_TES ASC
Por favor Acessar ou Registrar para participar da conversa.
- crondinelli
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 28
- Obrigados Recebidos: 1
10 anos 9 meses atrás #20269
por crondinelli
Respondido por crondinelli no tópico Ajuda Query
Acrescenta F4_DUPLI = 'S' após o where... só vai puxar as NFs com TES que gera Finaceiro...
Por favor Acessar ou Registrar para participar da conversa.
- wlad2154
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 3
- Obrigados Recebidos: 0
10 anos 9 meses atrás #20272
por wlad2154
Respondido por wlad2154 no tópico Ajuda Query
Tende utilizar o CASE
SELECT
D1_COD,
D1_TOTAL,
D1_TES,
D1_FORNECE,
SA2.A2_NOME,
D1_DOC,
D1_EMISSAO,
D1_DTDIGIT,
D1_NFORI,
SA1.A1_COD,
SA1.A1_NOME,
SF2.F2_TPFRETE,
SD2.D2_COD,
SC6.C6_DESCRI,
SD2.D2_TES,
SF4.F4_TEXTO,
SF4.F4_DUPLIC,
SD2.D2_QUANT,
SD2.D2_PRCVEN,
SD2.D2_TOTAL
,(CASE WHEN SF4.F4_DUPLIC = 'S' THEN SD2.D2_TOTAL END) AS VAL_FIN
FROM SD1010 AS SD1
INNER JOIN SA2010 AS SA2 ON SD1.D1_FORNECE = SA2.A2_COD
INNER JOIN SF2010 AS SF2 ON SD1.D1_NFORI = SF2.F2_DOC
INNER JOIN SA1010 AS SA1 ON SF2.F2_CLIENTE = SA1.A1_COD
INNER JOIN SD2010 AS SD2 ON SF2.F2_DOC + SF2.F2_CLIENTE = SD2.D2_DOC + SD2.D2_CLIENTE
INNER JOIN SC6010 AS SC6 ON SD2.D2_PEDIDO+SD2.D2_COD+SD2.D2_ITEM = SC6.C6_NUM+SC6.C6_PRODUTO+SC6.C6_ITEM
INNER JOIN SF4010 AS SF4 ON SD2.D2_TES = SF4.F4_CODIGO
WHERE
--(SD1.D1_NFORI = '000042548')AND
--(D1_COD = 'SEV00001') AND
(SF2.F2_SERIE = '1') AND
(SD2.D2_SERIE = '1') AND
--(SC6.C6_SERIE = '1') AND
D1_NFORI <> '' AND
D1_EMISSAO >= '20140101' AND
SD1.D_E_L_E_T_ <> '*' AND
SF2.D_E_L_E_T_ <> '*' AND
SA1.D_E_L_E_T_ <> '*' AND
SD2.D_E_L_E_T_ <> '*' AND
SC6.D_E_L_E_T_ <> '*'
ORDER BY D2_TES ASC
SELECT
D1_COD,
D1_TOTAL,
D1_TES,
D1_FORNECE,
SA2.A2_NOME,
D1_DOC,
D1_EMISSAO,
D1_DTDIGIT,
D1_NFORI,
SA1.A1_COD,
SA1.A1_NOME,
SF2.F2_TPFRETE,
SD2.D2_COD,
SC6.C6_DESCRI,
SD2.D2_TES,
SF4.F4_TEXTO,
SF4.F4_DUPLIC,
SD2.D2_QUANT,
SD2.D2_PRCVEN,
SD2.D2_TOTAL
,(CASE WHEN SF4.F4_DUPLIC = 'S' THEN SD2.D2_TOTAL END) AS VAL_FIN
FROM SD1010 AS SD1
INNER JOIN SA2010 AS SA2 ON SD1.D1_FORNECE = SA2.A2_COD
INNER JOIN SF2010 AS SF2 ON SD1.D1_NFORI = SF2.F2_DOC
INNER JOIN SA1010 AS SA1 ON SF2.F2_CLIENTE = SA1.A1_COD
INNER JOIN SD2010 AS SD2 ON SF2.F2_DOC + SF2.F2_CLIENTE = SD2.D2_DOC + SD2.D2_CLIENTE
INNER JOIN SC6010 AS SC6 ON SD2.D2_PEDIDO+SD2.D2_COD+SD2.D2_ITEM = SC6.C6_NUM+SC6.C6_PRODUTO+SC6.C6_ITEM
INNER JOIN SF4010 AS SF4 ON SD2.D2_TES = SF4.F4_CODIGO
WHERE
--(SD1.D1_NFORI = '000042548')AND
--(D1_COD = 'SEV00001') AND
(SF2.F2_SERIE = '1') AND
(SD2.D2_SERIE = '1') AND
--(SC6.C6_SERIE = '1') AND
D1_NFORI <> '' AND
D1_EMISSAO >= '20140101' AND
SD1.D_E_L_E_T_ <> '*' AND
SF2.D_E_L_E_T_ <> '*' AND
SA1.D_E_L_E_T_ <> '*' AND
SD2.D_E_L_E_T_ <> '*' AND
SC6.D_E_L_E_T_ <> '*'
ORDER BY D2_TES ASC
Por favor Acessar ou Registrar para participar da conversa.
- jcesar1299
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 53
- Obrigados Recebidos: 0
10 anos 9 meses atrás #20276
por jcesar1299
Respondido por jcesar1299 no tópico Ajuda Query
Wladimir, boa tarde!
Era isso mesmo que eu precisava.
Obrigado!!!!
Era isso mesmo que eu precisava.
Obrigado!!!!
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.099 segundos