Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

César Mello

Query Avançada

Recommended Posts

Bom dia a todos:

 

Possuo Uma tabela com a seguinte estrutura

 

Tabela Parcelas:

 

codparcela codpedido nparcela

1----------------10---------1

2----------------10---------2

3----------------11---------1

4----------------11---------2

5----------------11---------3

 

E preciso de um resultado que seja assim:

 

codparcela nnnnnnn

1-------------Parcela 1 de 2

2-------------Parcela 2 de 2

3-------------Parcela 1 de 3

4-------------Parcela 2 de 3

5-------------Parcela 3 de 3

 

O SQL que fiz foi :

 

SELECT codparcela, ('Parcela' & nparcela & ' de ' (SELECT MAX(nparcela) FROM parcelas WHERE codpedido = codpedido)) FROM parcelas

 

Mas isso me retorna

 

codparcela nnnnnnn

1-------------Parcela 1 de 3

2-------------Parcela 2 de 3

3-------------Parcela 1 de 3

4-------------Parcela 2 de 3

5-------------Parcela 3 de 3

 

Isso porque o que eu quero mesmo na subquery não é WHERE parcelas.codpedido = parcelas.codpedido mas sim WHERE parcelas.codpedido = consulta.codpedido

 

Mas não consigo encontrar a sintaxe para referenciar o valor originado da consulta e não da tabela.

 

Alguém sabe como?

 

Fazer uma consulta nova p/ cada valor do registro vai sobrecarregar meu sistema, e quero fazer todas as operações no SQL mesmo. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Alguma luz no fim do túnel? :huh:

 

Sds,

 

César Mello

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bicho eu acho que sou muitooooo burro....juro que não entendi p q você quer fazer......tem como você explicar de uma outra forma..Tipo :: pessoal eu preciso de um Select que me retorne o produto que mais vendeu...o nome do vendedor e a quantidade....Tabela ::vendedor | qtd | produtoAcho que fica melhor assim....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim... Essa tabela Parcelas é acessória da tabela Pedidos.Ou seja, um pedido pode ter várias parcelas.Então eu quero, na visualização das Parcelas existentes, que um campo me informe que essa é a "Parcela 1 de 3", "Parcela 2 de 3", "Parcela 3 de 3" Sacou?Preciso que o valor 3 seja o número de parcelas do próprio grupo, cuja chave é o codpedido.Porém eu queria fazer isso em um único SQL, sem ter de fazer 1 novo SQL p/ cada resultado.Acho que dá pra entender...

Compartilhar este post


Link para o post
Compartilhar em outros sites

e se você tentar colocar a tabela de pedidos ai no where do subselect...

 

SELECT codparcela, ('Parcela' & nparcela & ' de ' (SELECT MAX(nparcela) FROM parcelas WHERE codpedido = tabelapedidos.codpedido)) FROM parcelas

Compartilhar este post


Link para o post
Compartilhar em outros sites

fala ai caraeu criei uma tabela e coloquei os mesmos valores que os seus para testar akicreate table parcela(cod int,codped int,nparcela int)ai eu cheguei a essa sqlselect a.cod,a.nparcela,count(a.codped)from parcela a,parcela bwhere a.codped = b.codpedgroup by a.cod,a.nparcelaorder by 1beleza, inté

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.