RES: [delphi-br] Ajuca com SQL

2009-04-01 Por tôpico Vinicius da Silva Pinto
Grande Jose, olha, o resultado foi o mesmo, todas as duas opções (a minha e
a sua com left outer join) deram o mesmo resultado.
estou fazendo teste com coalesce...

Vinicius



Tenta assim :

 SELECT A.CDPEDIDO, A.DATAEVENTO, A.VALOR, SUM( G.VALORPAGTO )
 FROM BDPEDIDOS A LEFT OUTER JOIN BDPAGAMENTOS G ON A.CDPEDIDO = G.CDPEDIDO
 WHERE A.DATAEVENTO = '01/04/2009'

GROUP BY CDPEDIDO, DATAEVENTO, VALOR

HAVING SUM(G.ValorPgto)  A.valor

Entendeu ?

Vê se funciona.
--- Em sex, 27/3/09, Vinicius da Silva Pinto vinic...@cnen.gov.br
escreveu:

De: Vinicius da Silva Pinto vinic...@cnen.gov.br
Assunto: [delphi-br] Ajuca com SQL
Para: delphi-br@yahoogrupos.com.br
Data: Sexta-feira, 27 de Março de 2009, 15:33

Ve se alguem pode me ajudar, já quebrei a cabeça e não obtive o
resultado
satisfatório.

São duas tabelas, bem simples uma com os dados de um pedido com codigo,
nome...e ValorTotal.

Na outra tabela, a de pagamentos, só tem registro quando o cliente paga,
pode ser a vista ou parcelado.

As duas tabelas são unidas pelo campo CDpedido
O que eu quero é o seguinte... um relação de todos os pedidos que ainda não
pagaram o valor total.

Fiz a seguinte query:

SELECT A.CDPEDIDO, A.dataevento, A.valor AS VALORTOTAL, SUM(G.ValorPgto) AS
TOTALPAGO
FROM BDpedidos A, BDpagamentos G
WHERE G.CDpedido = A.CDpedido AND A.DATAEVENTO = '01/04/2009'
GROUP BY CDPEDIDO, DATAEVENTO, VALOR
HAVING SUM(G.ValorPgto)  A.valor

Funciona, só que só aparecem os pedidos que já tiveram algum pagamento, os
registros que estão na
tabela principal que ainda não tiveram nenhum pagamento, não sai...

Pergunta . como faço para aparecer tbm os registros que não tiveram

pagamento.

Agradeço qualquer ajuda ou dica.

Vinicius





























  Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]





--
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 







RES: [delphi-br] Ajuca com SQL

2009-04-01 Por tôpico Luciano Calenzani Simões
Você tentou com a SQL que te passei?

select num_pedido from pedido
where vl_pedido  (select coalesce(sum( vl_pagamento) , 0) from pagamento 
where cd_pedido = pedido.cd_pedido)


 Luciano Calenzani Simões


  Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]



RES: [delphi-br] Ajuca com SQL

2009-04-01 Por tôpico Vinicius da Silva Pinto
Luciano, a sua funcionou:
select CDPEDIDO, VALOR from BDpedidos
where VALOR  (select coalesce(sum(ValorPgto) , 0)
from BDpagamentos where cdpedido = BDpedidos.cdpedido)

Me retornou os numeros dos pedidos corretos, só que eu preciso que me
retorne tbm o montante já pago.
Quando eu coloco o SUM no primeiro select, volto a situação anterior.
O retorno deve ser tipo assim:

PEDIDO   VALORTOTAL   VALORPAGO
1500 200
3600
5400  50
6290 150
7450
8600
99   320 100

Eu consigo mais estou fazendo duas querys... em uma só tá dificil.




-Mensagem original-
De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br]em
nome de Luciano Calenzani Simões
Enviada em: quarta-feira, 1 de abril de 2009 08:05
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: [delphi-br] Ajuca com SQL


Você tentou com a SQL que te passei?

select num_pedido from pedido
where vl_pedido  (select coalesce(sum( vl_pagamento) , 0) from pagamento
where cd_pedido = pedido.cd_pedido)


 Luciano Calenzani Simões


  Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]





--
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 







RES: [delphi-br] Ajuca com SQL

2009-04-01 Por tôpico Luciano Calenzani Simões
Vou fazer de uma forma que o Sybase suporte, não sei no seu SGDB.

select CDPEDIDO, VALOR, (select coalesce(sum( ValorPgto) , 0)
from BDpagamentos where cdpedido = BDpedidos.cdpedido) VALOR_PAGO 
from BDpedidos
where VALOR  VALOR_PAGO
 Luciano Calenzani Simões







De: Vinicius da Silva Pinto vinic...@cnen.gov.br
Para: delphi-br@yahoogrupos.com.br
Enviadas: Quarta-feira, 1 de Abril de 2009 8:34:05
Assunto: RES: [delphi-br] Ajuca com SQL


Luciano, a sua funcionou:
select CDPEDIDO, VALOR from BDpedidos
where VALOR  (select coalesce(sum( ValorPgto) , 0)
from BDpagamentos where cdpedido = BDpedidos.cdpedido)

Me retornou os numeros dos pedidos corretos, só que eu preciso que me
retorne tbm o montante já pago.
Quando eu coloco o SUM no primeiro select, volto a situação anterior.
O retorno deve ser tipo assim:

PEDIDO   VALORTOTAL   VALORPAGO
1500 200
3600
5400  50
6290 150
7450
8600
99   320 100

Eu consigo mais estou fazendo duas querys... em uma só tá dificil.   


  Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]



Re: RES: [delphi-br] Ajuca com SQL

2009-04-01 Por tôpico José Roberto Marque
Complicado, hein, Vinicius.

  Será que não é o HAVING ? Porque o LEFT OUTER JOIN vai retornar nulo se o 
registro não existir.  A dúvida que fica é como o HAVING trataria isso ...

--- Em qua, 1/4/09, Vinicius da Silva Pinto vinic...@cnen.gov.br escreveu:

De: Vinicius da Silva Pinto vinic...@cnen.gov.br
Assunto: RES: [delphi-br] Ajuca com SQL
Para: delphi-br@yahoogrupos.com.br
Data: Quarta-feira, 1 de Abril de 2009, 7:56












Grande Jose, olha, o resultado foi o mesmo, todas as duas opções (a 
minha e

a sua com left outer join) deram o mesmo resultado.

estou fazendo teste com coalesce...



Vinicius



Tenta assim :



 SELECT A.CDPEDIDO, A.DATAEVENTO, A.VALOR, SUM( G.VALORPAGTO )

 FROM BDPEDIDOS A LEFT OUTER JOIN BDPAGAMENTOS G ON A.CDPEDIDO = G.CDPEDIDO

 WHERE A.DATAEVENTO = '01/04/2009'



GROUP BY CDPEDIDO, DATAEVENTO, VALOR



HAVING SUM(G.ValorPgto)  A.valor



Entendeu ?



Vê se funciona.

--- Em sex, 27/3/09, Vinicius da Silva Pinto vinic...@cnen. gov.br

escreveu:



De: Vinicius da Silva Pinto vinic...@cnen. gov.br

Assunto: [delphi-br] Ajuca com SQL

Para: delphi...@yahoogrup os.com.br

Data: Sexta-feira, 27 de Março de 2009, 15:33



Ve se alguem pode me ajudar, já quebrei a cabeça e não obtive o

resultado

satisfatório.



São duas tabelas, bem simples uma com os dados de um pedido com codigo,

nome...e ValorTotal.



Na outra tabela, a de pagamentos, só tem registro quando o cliente paga,

pode ser a vista ou parcelado.



As duas tabelas são unidas pelo campo CDpedido

O que eu quero é o seguinte... um relação de todos os pedidos que ainda não

pagaram o valor total.



Fiz a seguinte query:



SELECT A.CDPEDIDO, A.dataevento, A.valor AS VALORTOTAL, SUM(G.ValorPgto) AS

TOTALPAGO

FROM BDpedidos A, BDpagamentos G

WHERE G.CDpedido = A.CDpedido AND A.DATAEVENTO = '01/04/2009'

GROUP BY CDPEDIDO, DATAEVENTO, VALOR

HAVING SUM(G.ValorPgto)  A.valor



Funciona, só que só aparecem os pedidos que já tiveram algum pagamento, os

registros que estão na

tabela principal que ainda não tiveram nenhum pagamento, não sai...



Pergunta . como faço para aparecer tbm os registros que não tiveram



pagamento.



Agradeço qualquer ajuda ou dica.



Vinicius



Veja quais são os assuntos do momento no Yahoo! +Buscados

http://br.maisbusca dos.yahoo. com



[As partes desta mensagem que não continham texto foram removidas]



 - - --



--

 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 




 

  




 

















  Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]



RES: RES: [delphi-br] Ajuca com SQL

2009-04-01 Por tôpico Vinicius da Silva Pinto
Utilizando HEAVING, ele reclama do campo VALOR_PAGO

select a.CDPEDIDO, a.VALOR, (select coalesce(sum(b.ValorPgto) , 0)
from BDpagamentos b where b.cdpedido = a.cdpedido)  VALOR_PAGO
from BDpedidos a
group by a.CDpedido, a.Valor
HAVING A.VALOR  VALOR_PAGO

Retirando Group by e heavin, funciona que é uma beleza, mais traz tbm todos
os registros pagos integralmente.

Estou fazendo diversos testes utilizando o IBexpert em uma base INTERBASE
6.5

-Mensagem original-
De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br]em
nome de José Roberto Marque
Enviada em: quarta-feira, 1 de abril de 2009 08:37
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: RES: [delphi-br] Ajuca com SQL


Complicado, hein, Vinicius.

  Será que não é o HAVING ? Porque o LEFT OUTER JOIN vai retornar nulo se o
registro não existir.  A dúvida que fica é como o HAVING trataria isso ...

--- Em qua, 1/4/09, Vinicius da Silva Pinto vinic...@cnen.gov.br escreveu:

De: Vinicius da Silva Pinto vinic...@cnen.gov.br
Assunto: RES: [delphi-br] Ajuca com SQL
Para: delphi-br@yahoogrupos.com.br
Data: Quarta-feira, 1 de Abril de 2009, 7:56












Grande Jose, olha, o resultado foi o mesmo, todas as duas opções
(a minha e

a sua com left outer join) deram o mesmo resultado.

estou fazendo teste com coalesce...



Vinicius



Tenta assim :



 SELECT A.CDPEDIDO, A.DATAEVENTO, A.VALOR, SUM( G.VALORPAGTO )

 FROM BDPEDIDOS A LEFT OUTER JOIN BDPAGAMENTOS G ON A.CDPEDIDO = G.CDPEDIDO

 WHERE A.DATAEVENTO = '01/04/2009'



GROUP BY CDPEDIDO, DATAEVENTO, VALOR



HAVING SUM(G.ValorPgto)  A.valor



Entendeu ?



Vê se funciona.

--- Em sex, 27/3/09, Vinicius da Silva Pinto vinic...@cnen. gov.br

escreveu:



De: Vinicius da Silva Pinto vinic...@cnen. gov.br

Assunto: [delphi-br] Ajuca com SQL

Para: delphi...@yahoogrup os.com.br

Data: Sexta-feira, 27 de Março de 2009, 15:33



Ve se alguem pode me ajudar, já quebrei a cabeça e não obtive o

resultado

satisfatório.



São duas tabelas, bem simples uma com os dados de um pedido com codigo,

nome...e ValorTotal.



Na outra tabela, a de pagamentos, só tem registro quando o cliente paga,

pode ser a vista ou parcelado.



As duas tabelas são unidas pelo campo CDpedido

O que eu quero é o seguinte... um relação de todos os pedidos que ainda não

pagaram o valor total.



Fiz a seguinte query:



SELECT A.CDPEDIDO, A.dataevento, A.valor AS VALORTOTAL, SUM(G.ValorPgto) AS

TOTALPAGO

FROM BDpedidos A, BDpagamentos G

WHERE G.CDpedido = A.CDpedido AND A.DATAEVENTO = '01/04/2009'

GROUP BY CDPEDIDO, DATAEVENTO, VALOR

HAVING SUM(G.ValorPgto)  A.valor



Funciona, só que só aparecem os pedidos que já tiveram algum pagamento, os

registros que estão na

tabela principal que ainda não tiveram nenhum pagamento, não sai...



Pergunta . como faço para aparecer tbm os registros que não tiveram



pagamento.



Agradeço qualquer ajuda ou dica.



Vinicius



Veja quais são os assuntos do momento no Yahoo! +Buscados

http://br.maisbusca dos.yahoo. com



[As partes desta mensagem que não continham texto foram removidas]



 - - --



--

 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 





























  Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]





--
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 







RES: [delphi-br] Ajuca com SQL

2009-04-01 Por tôpico Luciano Calenzani Simões
Testou desta forma?

select CDPEDIDO, VALOR, (select coalesce(sum( ValorPgto) , 0)
from BDpagamentos where cdpedido = BDpedidos.cdpedido) VALOR_PAGO 
from BDpedidos
where VALOR  VALOR_PAGO

 Luciano Calenzani Simões







De: Vinicius da Silva Pinto vinic...@cnen.gov.br
Para: delphi-br@yahoogrupos.com.br
Enviadas: Quarta-feira, 1 de Abril de 2009 9:26:09
Assunto: RES: RES: [delphi-br] Ajuca com SQL


Utilizando HEAVING, ele reclama do campo VALOR_PAGO

select a.CDPEDIDO, a.VALOR, (select coalesce(sum( b.ValorPgto) , 0)
from BDpagamentos b where b.cdpedido = a.cdpedido)  VALOR_PAGO
from BDpedidos a
group by a.CDpedido, a.Valor
HAVING A.VALOR  VALOR_PAGO

Retirando Group by e heavin, funciona que é uma beleza, mais traz tbm todos
os registros pagos integralmente.

Estou fazendo diversos testes utilizando o IBexpert em uma base INTERBASE
6.5

-Mensagem original -
De: delphi...@yahoogrup os.com.br [mailto:delphi...@yahoogrup os.com.br]Em
nome de José Roberto Marque
Enviada em: quarta-feira, 1 de abril de 2009 08:37
Para: delphi...@yahoogrup os.com.br
Assunto: Re: RES: [delphi-br] Ajuca com SQL

Complicado, hein, Vinicius.

  Será que não é o HAVING ? Porque o LEFT OUTER JOIN vai retornar nulo se o
registro não existir.  A dúvida que fica é como o HAVING trataria isso ...

--- Em qua, 1/4/09, Vinicius da Silva Pinto vinic...@cnen. gov.br escreveu:

De: Vinicius da Silva Pinto vinic...@cnen. gov.br
Assunto: RES: [delphi-br] Ajuca com SQL
Para: delphi...@yahoogrup os.com.br
Data: Quarta-feira, 1 de Abril de 2009, 7:56

Grande Jose, olha, o resultado foi o mesmo, todas as duas opções
(a minha e

a sua com left outer join) deram o mesmo resultado.

estou fazendo teste com coalesce...

Vinicius

Tenta assim :

 SELECT A.CDPEDIDO, A.DATAEVENTO, A.VALOR, SUM( G.VALORPAGTO )

 FROM BDPEDIDOS A LEFT OUTER JOIN BDPAGAMENTOS G ON A.CDPEDIDO = G.CDPEDIDO

 WHERE A.DATAEVENTO = '01/04/2009'

GROUP BY CDPEDIDO, DATAEVENTO, VALOR

HAVING SUM(G.ValorPgto)  A.valor

Entendeu ?

Vê se funciona.

--- Em sex, 27/3/09, Vinicius da Silva Pinto vinic...@cnen. gov.br

escreveu:

De: Vinicius da Silva Pinto vinic...@cnen. gov.br

Assunto: [delphi-br] Ajuca com SQL

Para: delphi...@yahoogrup os.com.br

Data: Sexta-feira, 27 de Março de 2009, 15:33

Ve se alguem pode me ajudar, já quebrei a cabeça e não obtive o

resultado

satisfatório.

São duas tabelas, bem simples uma com os dados de um pedido com codigo,

nome...e ValorTotal.

Na outra tabela, a de pagamentos, só tem registro quando o cliente paga,

pode ser a vista ou parcelado.

As duas tabelas são unidas pelo campo CDpedido

O que eu quero é o seguinte... um relação de todos os pedidos que ainda não

pagaram o valor total.

Fiz a seguinte query:

SELECT A.CDPEDIDO, A.dataevento, A.valor AS VALORTOTAL, SUM(G.ValorPgto) AS

TOTALPAGO

FROM BDpedidos A, BDpagamentos G

WHERE G.CDpedido = A.CDpedido AND A.DATAEVENTO = '01/04/2009'

GROUP BY CDPEDIDO, DATAEVENTO, VALOR

HAVING SUM(G.ValorPgto)  A.valor

Funciona, só que só aparecem os pedidos que já tiveram algum pagamento, os

registros que estão na

tabela principal que ainda não tiveram nenhum pagamento, não sai...

Pergunta . como faço para aparecer tbm os registros que não tiveram

pagamento.

Agradeço qualquer ajuda ou dica.

Vinicius

Veja quais são os assuntos do momento no Yahoo! +Buscados

http://br.maisbusca dos.yahoo. com

[As partes desta mensagem que não continham texto foram removidas]

 - - --

--

 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbusca dos.yahoo. com

[As partes desta mensagem que não continham texto foram removidas]

 - - --

--
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 


   


  Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]



RES: [delphi-br] Ajuca com SQL

2009-04-01 Por tôpico Vinicius da Silva Pinto
Sim, ele reclama logo de cara do campo VALOR_PAGO, mesmo colocando HAVING

-Mensagem original-
De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br]em
nome de Luciano Calenzani Simões
Enviada em: quarta-feira, 1 de abril de 2009 09:40
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: [delphi-br] Ajuca com SQL


Testou desta forma?

select CDPEDIDO, VALOR, (select coalesce(sum( ValorPgto) , 0)
from BDpagamentos where cdpedido = BDpedidos.cdpedido) VALOR_PAGO
from BDpedidos
where VALOR  VALOR_PAGO

 Luciano Calenzani Simões







De: Vinicius da Silva Pinto vinic...@cnen.gov.br
Para: delphi-br@yahoogrupos.com.br
Enviadas: Quarta-feira, 1 de Abril de 2009 9:26:09
Assunto: RES: RES: [delphi-br] Ajuca com SQL


Utilizando HEAVING, ele reclama do campo VALOR_PAGO

select a.CDPEDIDO, a.VALOR, (select coalesce(sum( b.ValorPgto) , 0)
from BDpagamentos b where b.cdpedido = a.cdpedido)  VALOR_PAGO
from BDpedidos a
group by a.CDpedido, a.Valor
HAVING A.VALOR  VALOR_PAGO

Retirando Group by e heavin, funciona que é uma beleza, mais traz tbm todos
os registros pagos integralmente.

Estou fazendo diversos testes utilizando o IBexpert em uma base INTERBASE
6.5

-Mensagem original -
De: delphi...@yahoogrup os.com.br [mailto:delphi...@yahoogrup os.com.br]Em
nome de José Roberto Marque
Enviada em: quarta-feira, 1 de abril de 2009 08:37
Para: delphi...@yahoogrup os.com.br
Assunto: Re: RES: [delphi-br] Ajuca com SQL

Complicado, hein, Vinicius.

  Será que não é o HAVING ? Porque o LEFT OUTER JOIN vai retornar nulo se o
registro não existir.  A dúvida que fica é como o HAVING trataria isso ...

--- Em qua, 1/4/09, Vinicius da Silva Pinto vinic...@cnen. gov.br
escreveu:

De: Vinicius da Silva Pinto vinic...@cnen. gov.br
Assunto: RES: [delphi-br] Ajuca com SQL
Para: delphi...@yahoogrup os.com.br
Data: Quarta-feira, 1 de Abril de 2009, 7:56

Grande Jose, olha, o resultado foi o mesmo, todas as duas opções
(a minha e

a sua com left outer join) deram o mesmo resultado.

estou fazendo teste com coalesce...

Vinicius

Tenta assim :

 SELECT A.CDPEDIDO, A.DATAEVENTO, A.VALOR, SUM( G.VALORPAGTO )

 FROM BDPEDIDOS A LEFT OUTER JOIN BDPAGAMENTOS G ON A.CDPEDIDO = G.CDPEDIDO

 WHERE A.DATAEVENTO = '01/04/2009'

GROUP BY CDPEDIDO, DATAEVENTO, VALOR

HAVING SUM(G.ValorPgto)  A.valor

Entendeu ?

Vê se funciona.

--- Em sex, 27/3/09, Vinicius da Silva Pinto vinic...@cnen. gov.br

escreveu:

De: Vinicius da Silva Pinto vinic...@cnen. gov.br

Assunto: [delphi-br] Ajuca com SQL

Para: delphi...@yahoogrup os.com.br

Data: Sexta-feira, 27 de Março de 2009, 15:33

Ve se alguem pode me ajudar, já quebrei a cabeça e não obtive o

resultado

satisfatório.

São duas tabelas, bem simples uma com os dados de um pedido com codigo,

nome...e ValorTotal.

Na outra tabela, a de pagamentos, só tem registro quando o cliente paga,

pode ser a vista ou parcelado.

As duas tabelas são unidas pelo campo CDpedido

O que eu quero é o seguinte... um relação de todos os pedidos que ainda não

pagaram o valor total.

Fiz a seguinte query:

SELECT A.CDPEDIDO, A.dataevento, A.valor AS VALORTOTAL, SUM(G.ValorPgto) AS

TOTALPAGO

FROM BDpedidos A, BDpagamentos G

WHERE G.CDpedido = A.CDpedido AND A.DATAEVENTO = '01/04/2009'

GROUP BY CDPEDIDO, DATAEVENTO, VALOR

HAVING SUM(G.ValorPgto)  A.valor

Funciona, só que só aparecem os pedidos que já tiveram algum pagamento, os

registros que estão na

tabela principal que ainda não tiveram nenhum pagamento, não sai...

Pergunta . como faço para aparecer tbm os registros que não tiveram

pagamento.

Agradeço qualquer ajuda ou dica.

Vinicius

Veja quais são os assuntos do momento no Yahoo! +Buscados

http://br.maisbusca dos.yahoo. com

[As partes desta mensagem que não continham texto foram removidas]

 - - --

--

 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbusca dos.yahoo. com

[As partes desta mensagem que não continham texto foram removidas]

 - - --

--
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 





  Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]





--
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 







RES: [delphi-br] Ajuca com SQL

2009-04-01 Por tôpico Vinicius da Silva Pinto
Isso que esta me deixando maluco, nesta situação:
select a.CDPEDIDO, a.VALOR, (select coalesce(sum(b.ValorPgto) , 0)
from BDpagamentos b where b.cdpedido = a.cdpedido)  VALOR_PAGO
from BDpedidos a
group by a.CDpedido, a.Valor, VALOR_PAGO
o resultado são tres colunas, CDPEDIDO, VALOR e VALOR_PAGO

Mais se eu acrescento HAVING:
select a.CDPEDIDO, a.VALOR, (select coalesce(sum(b.ValorPgto) , 0)
from BDpagamentos b where b.cdpedido = a.cdpedido)  VALOR_PAGO
from BDpedidos a
group by a.CDpedido, a.Valor, VALOR_PAGO
having VALOR  VALOR_PAGO

me retorna o seguinte erro:
Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
VALORGERAL.
At line 5, column 17.


é coisa de doido

-Mensagem original-
De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br]em
nome de Vinicius da Silva Pinto
Enviada em: quarta-feira, 1 de abril de 2009 09:43
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: [delphi-br] Ajuca com SQL


Sim, ele reclama logo de cara do campo VALOR_PAGO, mesmo colocando HAVING

-Mensagem original-
De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br]em
nome de Luciano Calenzani Simões
Enviada em: quarta-feira, 1 de abril de 2009 09:40
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: [delphi-br] Ajuca com SQL


Testou desta forma?

select CDPEDIDO, VALOR, (select coalesce(sum( ValorPgto) , 0)
from BDpagamentos where cdpedido = BDpedidos.cdpedido) VALOR_PAGO
from BDpedidos
where VALOR  VALOR_PAGO

 Luciano Calenzani Simões







De: Vinicius da Silva Pinto vinic...@cnen.gov.br
Para: delphi-br@yahoogrupos.com.br
Enviadas: Quarta-feira, 1 de Abril de 2009 9:26:09
Assunto: RES: RES: [delphi-br] Ajuca com SQL


Utilizando HEAVING, ele reclama do campo VALOR_PAGO

select a.CDPEDIDO, a.VALOR, (select coalesce(sum( b.ValorPgto) , 0)
from BDpagamentos b where b.cdpedido = a.cdpedido)  VALOR_PAGO
from BDpedidos a
group by a.CDpedido, a.Valor
HAVING A.VALOR  VALOR_PAGO

Retirando Group by e heavin, funciona que é uma beleza, mais traz tbm todos
os registros pagos integralmente.

Estou fazendo diversos testes utilizando o IBexpert em uma base INTERBASE
6.5

-Mensagem original -
De: delphi...@yahoogrup os.com.br [mailto:delphi...@yahoogrup os.com.br]Em
nome de José Roberto Marque
Enviada em: quarta-feira, 1 de abril de 2009 08:37
Para: delphi...@yahoogrup os.com.br
Assunto: Re: RES: [delphi-br] Ajuca com SQL

Complicado, hein, Vinicius.

  Será que não é o HAVING ? Porque o LEFT OUTER JOIN vai retornar nulo se o
registro não existir.  A dúvida que fica é como o HAVING trataria isso ...

--- Em qua, 1/4/09, Vinicius da Silva Pinto vinic...@cnen. gov.br
escreveu:

De: Vinicius da Silva Pinto vinic...@cnen. gov.br
Assunto: RES: [delphi-br] Ajuca com SQL
Para: delphi...@yahoogrup os.com.br
Data: Quarta-feira, 1 de Abril de 2009, 7:56

Grande Jose, olha, o resultado foi o mesmo, todas as duas opções
(a minha e

a sua com left outer join) deram o mesmo resultado.

estou fazendo teste com coalesce...

Vinicius

Tenta assim :

 SELECT A.CDPEDIDO, A.DATAEVENTO, A.VALOR, SUM( G.VALORPAGTO )

 FROM BDPEDIDOS A LEFT OUTER JOIN BDPAGAMENTOS G ON A.CDPEDIDO = G.CDPEDIDO

 WHERE A.DATAEVENTO = '01/04/2009'

GROUP BY CDPEDIDO, DATAEVENTO, VALOR

HAVING SUM(G.ValorPgto)  A.valor

Entendeu ?

Vê se funciona.

--- Em sex, 27/3/09, Vinicius da Silva Pinto vinic...@cnen. gov.br

escreveu:

De: Vinicius da Silva Pinto vinic...@cnen. gov.br

Assunto: [delphi-br] Ajuca com SQL

Para: delphi...@yahoogrup os.com.br

Data: Sexta-feira, 27 de Março de 2009, 15:33

Ve se alguem pode me ajudar, já quebrei a cabeça e não obtive o

resultado

satisfatório.

São duas tabelas, bem simples uma com os dados de um pedido com codigo,

nome...e ValorTotal.

Na outra tabela, a de pagamentos, só tem registro quando o cliente paga,

pode ser a vista ou parcelado.

As duas tabelas são unidas pelo campo CDpedido

O que eu quero é o seguinte... um relação de todos os pedidos que ainda não

pagaram o valor total.

Fiz a seguinte query:

SELECT A.CDPEDIDO, A.dataevento, A.valor AS VALORTOTAL, SUM(G.ValorPgto) AS

TOTALPAGO

FROM BDpedidos A, BDpagamentos G

WHERE G.CDpedido = A.CDpedido AND A.DATAEVENTO = '01/04/2009'

GROUP BY CDPEDIDO, DATAEVENTO, VALOR

HAVING SUM(G.ValorPgto)  A.valor

Funciona, só que só aparecem os pedidos que já tiveram algum pagamento, os

registros que estão na

tabela principal que ainda não tiveram nenhum pagamento, não sai...

Pergunta . como faço para aparecer tbm os registros que não tiveram

pagamento.

Agradeço qualquer ajuda ou dica.

Vinicius

Veja quais são os assuntos do momento no Yahoo! +Buscados

http://br.maisbusca dos.yahoo. com

[As partes desta mensagem que não continham texto foram removidas]

 - - --

--

 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbusca dos.yahoo. com

RES: [delphi-br] Ajuca com SQL

2009-04-01 Por tôpico Juliano Silva - Yahoo
Faz assim

 

select 

a.CDPEDIDO, 

a.VALOR, 

(select coalesce(sum(b.ValorPgto) , 0) from BDpagamentos b where b.cdpedido
= a.cdpedido) VALOR_PAGO

from BDpedidos a
group by 

a.CDpedido, a.

Valor, VALOR_PAGO
having VALOR  (select coalesce(sum(b.ValorPgto) , 0) from BDpagamentos b
where b.cdpedido = a.cdpedido)

 

Enjoy

 

De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Vinicius da Silva Pinto
Enviada em: quarta-feira, 1 de abril de 2009 09:54
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: [delphi-br] Ajuca com SQL

 

Isso que esta me deixando maluco, nesta situação:
select a.CDPEDIDO, a.VALOR, (select coalesce(sum(b.ValorPgto) , 0)
from BDpagamentos b where b.cdpedido = a.cdpedido) VALOR_PAGO
from BDpedidos a
group by a.CDpedido, a.Valor, VALOR_PAGO
o resultado são tres colunas, CDPEDIDO, VALOR e VALOR_PAGO

Mais se eu acrescento HAVING:
select a.CDPEDIDO, a.VALOR, (select coalesce(sum(b.ValorPgto) , 0)
from BDpagamentos b where b.cdpedido = a.cdpedido) VALOR_PAGO
from BDpedidos a
group by a.CDpedido, a.Valor, VALOR_PAGO
having VALOR  VALOR_PAGO

me retorna o seguinte erro:
Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
VALORGERAL.
At line 5, column 17.

é coisa de doido

-Mensagem original-
De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
]Em
nome de Vinicius da Silva Pinto
Enviada em: quarta-feira, 1 de abril de 2009 09:43
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Assunto: RES: [delphi-br] Ajuca com SQL

Sim, ele reclama logo de cara do campo VALOR_PAGO, mesmo colocando HAVING

-Mensagem original-
De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
]Em
nome de Luciano Calenzani Simões
Enviada em: quarta-feira, 1 de abril de 2009 09:40
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Assunto: RES: [delphi-br] Ajuca com SQL

Testou desta forma?

select CDPEDIDO, VALOR, (select coalesce(sum( ValorPgto) , 0)
from BDpagamentos where cdpedido = BDpedidos.cdpedido) VALOR_PAGO
from BDpedidos
where VALOR  VALOR_PAGO

Luciano Calenzani Simões


De: Vinicius da Silva Pinto vinic...@cnen.gov.br
mailto:vinicius%40cnen.gov.br 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br 
Enviadas: Quarta-feira, 1 de Abril de 2009 9:26:09
Assunto: RES: RES: [delphi-br] Ajuca com SQL

Utilizando HEAVING, ele reclama do campo VALOR_PAGO

select a.CDPEDIDO, a.VALOR, (select coalesce(sum( b.ValorPgto) , 0)
from BDpagamentos b where b.cdpedido = a.cdpedido) VALOR_PAGO
from BDpedidos a
group by a.CDpedido, a.Valor
HAVING A.VALOR  VALOR_PAGO

Retirando Group by e heavin, funciona que é uma beleza, mais traz tbm todos
os registros pagos integralmente.

Estou fazendo diversos testes utilizando o IBexpert em uma base INTERBASE
6.5

-Mensagem original -
De: delphi...@yahoogrup os.com.br [mailto:delphi...@yahoogrup os.com.br]Em
nome de José Roberto Marque
Enviada em: quarta-feira, 1 de abril de 2009 08:37
Para: delphi...@yahoogrup os.com.br
Assunto: Re: RES: [delphi-br] Ajuca com SQL

Complicado, hein, Vinicius.

Será que não é o HAVING ? Porque o LEFT OUTER JOIN vai retornar nulo se o
registro não existir. A dúvida que fica é como o HAVING trataria isso ...

--- Em qua, 1/4/09, Vinicius da Silva Pinto vinic...@cnen. gov.br
escreveu:

De: Vinicius da Silva Pinto vinic...@cnen. gov.br
Assunto: RES: [delphi-br] Ajuca com SQL
Para: delphi...@yahoogrup os.com.br
Data: Quarta-feira, 1 de Abril de 2009, 7:56

Grande Jose, olha, o resultado foi o mesmo, todas as duas opções
(a minha e

a sua com left outer join) deram o mesmo resultado.

estou fazendo teste com coalesce...

Vinicius

Tenta assim :

SELECT A.CDPEDIDO, A.DATAEVENTO, A.VALOR, SUM( G.VALORPAGTO )

FROM BDPEDIDOS A LEFT OUTER JOIN BDPAGAMENTOS G ON A.CDPEDIDO = G.CDPEDIDO

WHERE A.DATAEVENTO = '01/04/2009'

GROUP BY CDPEDIDO, DATAEVENTO, VALOR

HAVING SUM(G.ValorPgto)  A.valor

Entendeu ?

Vê se funciona.

--- Em sex, 27/3/09, Vinicius da Silva Pinto vinic...@cnen. gov.br

escreveu:

De: Vinicius da Silva Pinto vinic...@cnen. gov.br

Assunto: [delphi-br] Ajuca com SQL

Para: delphi...@yahoogrup os.com.br

Data: Sexta-feira, 27 de Março de 2009, 15:33

Ve se alguem pode me ajudar, já quebrei a cabeça e não obtive o

resultado

satisfatório.

São duas tabelas, bem simples uma com os dados de um pedido com codigo,

nome...e ValorTotal.

Na outra tabela, a de pagamentos, só tem registro quando o cliente paga,

pode ser a vista ou parcelado.

As duas tabelas são unidas pelo campo CDpedido

O que eu quero é o seguinte... um relação de todos os pedidos que ainda não

pagaram o valor total.

Fiz a seguinte query:

SELECT A.CDPEDIDO, A.dataevento, A.valor

RES: [delphi-br] Ajuca com SQL

2009-04-01 Por tôpico Vinicius da Silva Pinto
Valeu mesmo Juliano e a todos que colaboraram comigo. funcionou que é
uma blz
Agradeço de coração, pois não tenho muita experiencia em SQL, não por
preguiça ou má vontade,
estava tentando varias combinações, talves daqui a uns meses eu conseguiria
chegar até esse ponto.
Um abraço a todos e com certeza voltarei com mais algumas dúvidas.

Vinicius S Pinto



Faz assim
select a.CDPEDIDO, a.VALOR,
(select coalesce(sum(b.ValorPgto) , 0)
from BDpagamentos b where b.cdpedido = a.cdpedido) VALOR_PAGO
from BDpedidos a group by a.CDpedido, a.Valor, VALOR_PAGO
having VALOR  (select coalesce(sum(b.ValorPgto) , 0) from BDpagamentos b
where b.cdpedido = a.cdpedido)


Enjoy



De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Vinicius da Silva Pinto
Enviada em: quarta-feira, 1 de abril de 2009 09:54
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: [delphi-br] Ajuca com SQL



Isso que esta me deixando maluco, nesta situação:
select a.CDPEDIDO, a.VALOR, (select coalesce(sum(b.ValorPgto) , 0)
from BDpagamentos b where b.cdpedido = a.cdpedido) VALOR_PAGO
from BDpedidos a
group by a.CDpedido, a.Valor, VALOR_PAGO
o resultado são tres colunas, CDPEDIDO, VALOR e VALOR_PAGO

Mais se eu acrescento HAVING:
select a.CDPEDIDO, a.VALOR, (select coalesce(sum(b.ValorPgto) , 0)
from BDpagamentos b where b.cdpedido = a.cdpedido) VALOR_PAGO
from BDpedidos a
group by a.CDpedido, a.Valor, VALOR_PAGO
having VALOR  VALOR_PAGO

me retorna o seguinte erro:
Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
VALORGERAL.
At line 5, column 17.

é coisa de doido

-Mensagem original-
De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
]Em
nome de Vinicius da Silva Pinto
Enviada em: quarta-feira, 1 de abril de 2009 09:43
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
Assunto: RES: [delphi-br] Ajuca com SQL

Sim, ele reclama logo de cara do campo VALOR_PAGO, mesmo colocando HAVING

-Mensagem original-
De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
]Em
nome de Luciano Calenzani Simões
Enviada em: quarta-feira, 1 de abril de 2009 09:40
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
Assunto: RES: [delphi-br] Ajuca com SQL

Testou desta forma?

select CDPEDIDO, VALOR, (select coalesce(sum( ValorPgto) , 0)
from BDpagamentos where cdpedido = BDpedidos.cdpedido) VALOR_PAGO
from BDpedidos
where VALOR  VALOR_PAGO

Luciano Calenzani Simões


De: Vinicius da Silva Pinto vinic...@cnen.gov.br
mailto:vinicius%40cnen.gov.br 
Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
Enviadas: Quarta-feira, 1 de Abril de 2009 9:26:09
Assunto: RES: RES: [delphi-br] Ajuca com SQL

Utilizando HEAVING, ele reclama do campo VALOR_PAGO

select a.CDPEDIDO, a.VALOR, (select coalesce(sum( b.ValorPgto) , 0)
from BDpagamentos b where b.cdpedido = a.cdpedido) VALOR_PAGO
from BDpedidos a
group by a.CDpedido, a.Valor
HAVING A.VALOR  VALOR_PAGO

Retirando Group by e heavin, funciona que é uma beleza, mais traz tbm todos
os registros pagos integralmente.

Estou fazendo diversos testes utilizando o IBexpert em uma base INTERBASE
6.5

-Mensagem original -
De: delphi...@yahoogrup os.com.br [mailto:delphi...@yahoogrup os.com.br]Em
nome de José Roberto Marque
Enviada em: quarta-feira, 1 de abril de 2009 08:37
Para: delphi...@yahoogrup os.com.br
Assunto: Re: RES: [delphi-br] Ajuca com SQL

Complicado, hein, Vinicius.

Será que não é o HAVING ? Porque o LEFT OUTER JOIN vai retornar nulo se o
registro não existir. A dúvida que fica é como o HAVING trataria isso ...

--- Em qua, 1/4/09, Vinicius da Silva Pinto vinic...@cnen. gov.br
escreveu:

De: Vinicius da Silva Pinto vinic...@cnen. gov.br
Assunto: RES: [delphi-br] Ajuca com SQL
Para: delphi...@yahoogrup os.com.br
Data: Quarta-feira, 1 de Abril de 2009, 7:56

Grande Jose, olha, o resultado foi o mesmo, todas as duas opções
(a minha e

a sua com left outer join) deram o mesmo resultado.

estou fazendo teste com coalesce...

Vinicius

Tenta assim :

SELECT A.CDPEDIDO, A.DATAEVENTO, A.VALOR, SUM( G.VALORPAGTO )

FROM BDPEDIDOS A LEFT OUTER JOIN BDPAGAMENTOS G ON A.CDPEDIDO = G.CDPEDIDO

WHERE A.DATAEVENTO = '01/04/2009'

GROUP BY CDPEDIDO, DATAEVENTO, VALOR

HAVING SUM(G.ValorPgto)  A.valor

Entendeu ?

Vê se funciona.

--- Em sex, 27/3/09, Vinicius da Silva Pinto vinic...@cnen. gov.br

escreveu:

De: Vinicius da Silva Pinto vinic...@cnen. gov.br

Assunto: [delphi-br] Ajuca com SQL

Para: delphi...@yahoogrup os.com.br

Data: Sexta-feira, 27 de Março de 2009, 15:33

Ve se alguem pode me ajudar, já quebrei a cabeça e não obtive o

resultado

satisfatório.

São duas tabelas, bem simples uma com os dados de um pedido com codigo,

nome...e

Res: [delphi-br] Ajuca com SQL

2009-03-27 Por tôpico Luciano Calenzani Simões
Uma forma de fazer:

select num_pedido from pedido
where vl_pedido  (select coalesce(sum(vl_pagamento), 0) from pagamento where 
cd_pedido = pedido.cd_pedido)

 Luciano Calenzani Simões







De: Vinicius da Silva Pinto vinic...@cnen.gov.br
Para: delphi-br@yahoogrupos.com.br
Enviadas: Sexta-feira, 27 de Março de 2009 15:33:42
Assunto: [delphi-br] Ajuca com SQL


Ve se alguem pode me ajudar, já quebrei a cabeça e não obtive o resultado
satisfatório.

São duas tabelas, bem simples uma com os dados de um pedido com codigo,
nome...e ValorTotal.

Na outra tabela, a de pagamentos, só tem registro quando o cliente paga,
pode ser a vista ou parcelado.

As duas tabelas são unidas pelo campo CDpedido

O que eu quero é o seguinte... um relação de todos os pedidos que ainda não
pagaram o valor total.

Fiz a seguinte query:

SELECT A.CDPEDIDO, A.dataevento, A.valor AS VALORTOTAL, SUM(G.ValorPgto) AS
TOTALPAGO
FROM BDpedidos A, BDpagamentos G
WHERE G.CDpedido = A.CDpedido AND A.DATAEVENTO = '01/04/2009'
GROUP BY CDPEDIDO, DATAEVENTO, VALOR
HAVING SUM(G.ValorPgto)  A.valor

Funciona, só que só aparecem os pedidos que já tiveram algum pagamento, os
registros que estão na
tabela principal que ainda não tiveram nenhum pagamento, não sai...

Pergunta . como faço para aparecer tbm os registros que não tiveram
pagamento.

Agradeço qualquer ajuda ou dica.

Vinicius


   


  Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]