Jump to content
Fórum Script Brasil
  • 0

(Resolvido) SELECT + GROUP BY de um bloco de resultados!


GuiOr

Question

Boa Tarde Pessoas,

Estou com um Problema em um query que criei, será que poderiam auxiliar ?

seguinte:

SELECT X, Y, Z FROM

(SELECT IFNULL(X,'') X, IFNULL(Z,'') Z,

(SELECT c.nome FROM banco1.tabela1 a LEFT JOIN banco1.tabela2 c ON c.id = a.id WHERE a.cod = b.cod) Y

FROM banco1.tabela3 b WHERE rej IN (0)

GROUP BY X, Y) result GROUP BY result.Z,result.X,result.Y;

O Problema é que o resultado disso é:

X Y Z

1 A 2011-01-01

2 A 2011-01-01

3 A 2011-01-01

4 B 2011-01-01

5 B 2011-01-01

6 C 2011-01-01

7 C 2011-01-01

8 C 2011-01-01

9 C 2011-01-01

Eu gostaria que os resultado que possuem Y iguais fiquem agrupados...

ex:

X Y Z

1 a 3 A 2011-01-01

4 a 5 B 2011-01-01

6 a 9 C 2011-01-01

ok?!

Help! Obrigado!

Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Ocorre que você está utilizando no seu grupamento um campo no qual os dados não se repetem (X). Se você retirar esse campo ele irá juntar os itens desejados.

Link to post
Share on other sites
  • 0

Opa..

então é que quando eu mantenho agrupamento somente por Y, eu não tenho referência de até qual valor equivale A..

o resultado seria:

X Y Z

1 A 2011-01-01

4 B 2011-01-01

6 C 2011-01-01

eu preciso saber o bloco de valores de X que possuem A, que seria '1 a 3' não somente o primeiro registro, pois são valores aleatórios,

eu pensei em fazer min(X), max(X) agrupado pelo Y mas também não deu certo.

Att.

Link to post
Share on other sites
  • 0

Oi 'GuiOr'

Estude sobre GROUP_CONCAT. Ele se aplica ao campo X de seu exemplo.

A grosso modo, seu select seria assim:

SELECT GROUP_CONCAT(exemplo.X) AS X, exemplo.Y, exemplo.Z
FROM (SELECT X, Y, Z FROM 
(SELECT IFNULL(X,'') X, IFNULL(Z,'') Z,
(SELECT c.nome FROM banco1.tabela1 a LEFT JOIN banco1.tabela2 c ON c.id = a.id WHERE a.cod = b.cod) Y
FROM banco1.tabela3 b WHERE rej IN (0)
GROUP BY X, Y) result GROUP BY result.Z,result.X,result.Y) exemplo
GROUP BY exemplo.Y;

Purifique a idéia.

Link to post
Share on other sites
Guest
This topic is now closed to further replies.


  • Forum Statistics

    • Total Topics
      149287
    • Total Posts
      645679
×
×
  • Create New...