Como fazer um select apartir do resultado de outro select de modo que resulte em uma unica tabela?

26/02/2016

0

Bom dia!

Galera seguinte, preciso fazer varias consultas SELECT de modo que fique em uma tabela só, vou explicar.

Tenho a tabela de titulos baixados, onde é uma consulta facil, somente buscar se o campo de data da baixa esta preenchido,

Contudo tem titulos que são baixados com outros titulos, e fica em outra tabela, e ai esta o problema por que nessa tabela podem ter varios títulos baixando um unico titulo, e desses varios titulos podem ter sido utilizado outros varios titulos para isso. Eu pensei em fazer um sub-select select e1_num as titulo, e1_titulo2 = ( select ...) from se1.

O problema é que so pode retornar um unico registro e como existe o caso de mais de 1 titulo ser utilizado para pagar um outro titulo eu precisaria de uma outra consulta.
Airton Junior

Airton Junior

Responder

Post mais votado

26/02/2016

---- SE PRECISAR PEGUE O MAX DE ALGUM CAMPO E FAÇA OUTRO SELECT E ASSIM POR DIANTE
--- ESPERO QUE AJUDE SE NAO CONSEGUIR MANDE OS SCRIPTS DE CRIAÇÃO
--E INSERT E MONTE UMA IMG DO RESULTADO QUE DESEJA QUE TENDO MONTAR ALGO
SELECT DISTINCT
A.BAIXA,A.CLIENTE,A.EMISSAO,A.SALDO_PENDENTE,A.TITULO,A.TITULO_BAIXADO1,
A.VALOR_TITULO,A.VENCIMENTO

FROM (
SELECT E1_NUM AS TITULO,E1_NOMCLI AS CLIENTE,
SUBSTRING(E1_EMISSAO,7,2)+'/'+SUBSTRING(E1_EMISSAO,5,2)+'/'+SUBSTRING(E1_EMISSAO,1,4) AS EMISSAO,
SUBSTRING(E1_VENCTO,7,2)+'/'+SUBSTRING(E1_VENCTO,5,2)+'/'+SUBSTRING(E1_VENCTO,1,4) AS VENCIMENTO,
SUBSTRING(E1_BAIXA,7,2)+'/'+SUBSTRING(E1_BAIXA,5,2)+'/'+SUBSTRING(E1_BAIXA,1,4) AS BAIXA,
E1_VALOR AS VALOR_TITULO,E1_SALDO AS SALDO_PENDENTE, TITULO_BAIXADO1 =
(
SELECT FI7_NUMDES FROM FI7010 WHERE
FI7010.D_E_L_E_T_ = '' AND
FI7010.FI7_NUMORI = ORIGEM.E1_NUM AND
FI7010.FI7_CLIORI = ORIGEM.E1_CLIENTE AND
FI7010.FI7_LOJORI = ORIGEM.E1_LOJA AND
FI7010.FI7_PARORI = ORIGEM.E1_PARCELA

)
FROM SE1010 AS ORIGEM WHERE
ORIGEM.D_E_L_E_T_ = '' AND
ORIGEM.E1_TIPO IN ('NF') AND
ORIGEM.E1_PREFIXO IN ('V','A') AND
ORIGEM.E1_BAIXA <> '') A
---SE PRECISAR GROUP BY CAMPOS

Isaac Jose

Isaac Jose
Responder

Mais Posts

26/02/2016

Isaac Jose

bom dia amigo..
segue exemplo que tenho aqui porem tive que retirar os nomes normais de tabelas e campos..

segue



SELECT
B.*,C.TOT_AG,PERC_CART = (B.TOTLA_VLR/C.TOT)*100,D.METAGERAL
FROM
(
SELECT DISTINCT

A,b,etc,
TOTAL_QTD = SUM(camposqtd),
TOTLA_VLR = SUM(camporvlr),
MEDIA_QTD = SUM(CAST(B. AS FLOAT)+
CAST(B. AS FLOAT)+
CAST(B. AS FLOAT)+
CAST(B. AS FLOAT)+
CAST(B. AS FLOAT)+
CAST(B. AS FLOAT))
/
MONTH(B.DATA)-1 ,
MEDIA_VLR = SUM(camposvlr)/
MONTH(B.DATA) -1
FROM tb_1 A
LEFT JOIN tb_2 B
ON campos = campos
WHERE
GROUP BY
campos)B
LEFT JOIN
(SELECT camposcomparacao, ,
TOT_geral = SUM(camposvlr)
FROM tb_1
WHERE
GROUP BY
)C
ON
LEFT JOIN
(
SELECT DISTINCT
campos, SUM(A+b)
FROM
(
SELECT ,MAX()
FROM tb_1
WHERE
GROUP BY )A
LEFT JOIN
(SELECT ,MAX()
FROM tb_1
WHERE
GROUP BY )B
ON A = B
GROUP BY A)D
ON D = B
ORDER BY DESC
Responder

26/02/2016

Airton Junior

Vixi maria cara ta osso de entender, vou postar o que eu tentei chegar para explicar melhor o que eu quero:

SELECT E1_NUM AS TITULO,E1_NOMCLI AS CLIENTE,SUBSTRING(E1_EMISSAO,7,2)+'/'+SUBSTRING(E1_EMISSAO,5,2)+'/'+SUBSTRING(E1_EMISSAO,1,4) AS EMISSAO,
SUBSTRING(E1_VENCTO,7,2)+'/'+SUBSTRING(E1_VENCTO,5,2)+'/'+SUBSTRING(E1_VENCTO,1,4) AS VENCIMENTO,
SUBSTRING(E1_BAIXA,7,2)+'/'+SUBSTRING(E1_BAIXA,5,2)+'/'+SUBSTRING(E1_BAIXA,1,4) AS BAIXA,E1_VALOR AS VALOR_TITULO,E1_SALDO AS SALDO_PENDENTE, TITULO_BAIXADO1 =
(
SELECT FI7_NUMDES FROM FI7010 WHERE
FI7010.D_E_L_E_T_ = '' AND
FI7010.FI7_NUMORI = ORIGEM.E1_NUM AND
FI7010.FI7_CLIORI = ORIGEM.E1_CLIENTE AND
FI7010.FI7_LOJORI = ORIGEM.E1_LOJA AND
FI7010.FI7_PARORI = ORIGEM.E1_PARCELA

)
FROM SE1010 AS ORIGEM WHERE
ORIGEM.D_E_L_E_T_ = '' AND
ORIGEM.E1_TIPO IN ('NF') AND
ORIGEM.E1_PREFIXO IN ('V','A') AND
ORIGEM.E1_BAIXA <> ''



Tabela origem é a origem do titulo, com base no resultado dessa consulta preciso pesquisar dentro da tabela FI7 o titulo destino de modo a retornar todas as linhas e não somente 1 ( que no caso é o que me limita)
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar