Agrupamento por SQL
09/10/2014
0
Bom dia,
possuo duas tabelas a NFE e a Tabela NFE_INUTILIZADA, a tabela NFe_Inutilizada tem relação 1xN para NFE pois na NFE_INUTILIZADA tenho o campo NumInicial e NumFinal podendo ser uma sequencia de numeração a qual terá para cada número um registro na tabela NFE,
a principio estou usando o seguinte SQL:
Como disse a relação é 1xN então posso ter a mesma JUSTIFICATIVA para vários registros, dessa forma gostaria de agrupar pelos mesmos, por exemplo:
JUSTIFICATIVA | DATA | Nº NFe | Série NF-e |
teste1 | 01/01/14 | 101 | 1 |
| | 102 | 1 |
| | 103 | 1 |
| | 104 | 1 |
teste2 | 05/01/14 | 201 | 1 |
teste3 | 05/01/14 | 208 | 1 |
| | 209 | 1 |
| | 210 | 1 |
Seria algo assim, utilizo o Firebird 2.5, algum amigo teria alguma sugestão?
Obrigado,
Rômulo Mayworm
possuo duas tabelas a NFE e a Tabela NFE_INUTILIZADA, a tabela NFe_Inutilizada tem relação 1xN para NFE pois na NFE_INUTILIZADA tenho o campo NumInicial e NumFinal podendo ser uma sequencia de numeração a qual terá para cada número um registro na tabela NFE,
a principio estou usando o seguinte SQL:
SELECT I.JUSTIFICATIVA, I.IDE_DHEMI, N.IDE_NNFE, N.IDE_SERIE FROM NFE N LEFT OUTER JOIN NFE_INUTILIZADA I ON I.CD_INUTILIZADA = N.CD_INUTILIZADA where (IDE_NNFE BETWEEN :DE AND :ATE) and (COALESCE(NFE_INUTILIZADA,'F') = 'V') and (CSTAT = 102)
Como disse a relação é 1xN então posso ter a mesma JUSTIFICATIVA para vários registros, dessa forma gostaria de agrupar pelos mesmos, por exemplo:
JUSTIFICATIVA | DATA | Nº NFe | Série NF-e |
teste1 | 01/01/14 | 101 | 1 |
| | 102 | 1 |
| | 103 | 1 |
| | 104 | 1 |
teste2 | 05/01/14 | 201 | 1 |
teste3 | 05/01/14 | 208 | 1 |
| | 209 | 1 |
| | 210 | 1 |
Seria algo assim, utilizo o Firebird 2.5, algum amigo teria alguma sugestão?
Obrigado,
Rômulo Mayworm
Jaime Santos
Curtir tópico
+ 0
Responder
Posts
09/10/2014
Marisiana Battistella
Olá Jaime!
Você precisa incluir a claúsula GROUP BY no SELECT para que as informações sejam agrupadas...
Você precisa incluir a claúsula GROUP BY no SELECT para que as informações sejam agrupadas...
SELECT I.JUSTIFICATIVA, I.IDE_DHEMI, N.IDE_NNFE, N.IDE_SERIE FROM NFE N LEFT OUTER JOIN NFE_INUTILIZADA I ON I.CD_INUTILIZADA = N.CD_INUTILIZADA where (IDE_NNFE BETWEEN :DE AND :ATE) and (COALESCE(NFE_INUTILIZADA,'F') = 'V') and (CSTAT = 102) GROUP BY I.JUSTIFICATIVA, I.IDE_DHEMI, N.IDE_NNFE, N.IDE_SERIE
Responder
Clique aqui para fazer login e interagir na Comunidade :)