Ir para conteúdo

Arquivado

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

Aprendiz/CE

Não consigo - Subquery

Recommended Posts

Prezados,

Será que alguém poderia me mostrar como montar um SELECT com SUBQUERY aonde essa subquery some registros na mesma tabela? Tentei de varias forma mas confesso que não deu certo. Segue abaixo um rascunho do como eu necessito.

Registros (tabela):

Nome Produto Qtd
----- ------- ---
JOSE ACUCAR 1
RAUL ACUCAR 1
MARIA ACUCAR 2
ANA ACUCAR 3

Nome Produto Qtd
----- ------- ----
PAULO ARROZ 2
PEDRO ARROZ 1
MARTA ARROZ 1

Consulta (Select):

ACUCAR Sub Total 7

JOSE 1
RAUL 1
MARIA 2
ANA 3


ARROZ Sub total 4

PAULO 2
PEDRO 1
MARTA 1

Grato a todos e aguardo qualquer tipo de ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não vai usar sub-queries pra isso, use dois GROUP BY's com UNION, segue exemplo.

SELECT '' nome, produto, sum(qtd) qtd, 1 seq
FROM Registros
GROUP BY produto

UNION ALL

SELECT nome, produto, sum(qtd), 2 seq
FROM Registros
GROUP BY produto, nome

ORDER BY produto, seq, nome

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Você não vai usar sub-queries pra isso, use dois GROUP BY's com UNION, segue exemplo.

SELECT '' nome, produto, sum(qtd) qtd, 1 seq
FROM Registros
GROUP BY produto

UNION ALL

SELECT nome, produto, sum(qtd), 2 seq
FROM Registros
GROUP BY produto, nome

ORDER BY produto, seq, nome

 

Beleza.

 

Vou testar e dou retorno.

 

Grato.

 

Muito interessante.

 

Agora isso só vai funcionar no MySQL, não é?!?!

 

Caso amanhã ou depois eu necessite faz isso em outro GDB, como ficaria?

 

Grato pela sua atençao e aguardo o seu comentario.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Beleza.

 

Vou testar e dou retorno.

 

Grato.

 

Muito interessante.

 

Agora isso só vai funcionar no MySQL, não é?!?!

 

Caso amanhã ou depois eu necessite faz isso em outro GDB, como ficaria?

 

Grato pela sua atençao e aguardo o seu comentario.

 

Entendido.

 

Agora eu vou precisar fazer isso no INTERBASE, FIREBASE e/ou SQLite mais cedo ou mais tarde. Tem como?

 

Esse SELECT passado pelo Érico não funcionaria de forma indiscriminada para qualquer GDB? Eu nunca gosta de usar nada muito EXCLUSIVO não, pois as vezes acabo ficando perdido quando mudo o GDB.

 

Grato mais uma vez pela sua atenção e aguardo seu comentario.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para a síntaxe pesquise a documentação do BD em questão.

 

No SqlLite posso te afirmar quase com certeza que não deve ter , a ideia dele é ser simples.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Talvez funcione, não sei se criar colunas on-the-fly assim funcionaria em todos. Mas o resto é SQL ANSI, teoricamente irá funcionar.

Entendido.

Para a síntaxe pesquise a documentação do BD em questão.

 

No SqlLite posso te afirmar quase com certeza que não deve ter , a ideia dele é ser simples.

Pois é, mas com todos certeza vou precisar fazer isso no SQLite em breve. Nesse caso o que eu posso fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites
Pois é, mas com todos certeza vou precisar fazer isso no SQLite em breve. Nesse caso o que eu posso fazer?

 

Post #2, se aceitar UNION , mas pesquise a documentação antes.

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.