Ir para conteúdo

POWERED BY:

Arquivado

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

fsilvarib

Crosstab

Recommended Posts

Olá galera!

 

Estou com uma baita dificuldade de gerar crosstab, gostaria que alguém pudesse dar uma luz!

 

Vamos a brincadeira.

 

Tenho as seguintes tabelas.

 

USERS

+---------------+
| id | NOME     |
+---------------+
| 1  | FULANO1  |
+---------------+

 

FILES

+---------------+-----------+-----------+-----------+
| id | USER_ID  | FILE_DATE | FILE_NAME | FILE_TYPE |
+---------------+-----------+-----------+-----------+
| 1  | 1        | 2011-04-01| FILE1.XLS |    XLS    | 
+---------------+-----------+-----------+-----------+
| 2  | 1        | 2011-05-01| FILE2.PDF |    PDF    |
+---------------+-----------+-----------+-----------+
| 3  | 1        | 2011-05-01| FILE2.XLS |    XLS    |
+---------------+-----------+-----------+-----------+
| 4  | 1        | 2011-06-01| FILE3.PDF |    PDF    |
+---------------+-----------+-----------+-----------+

 

A QUERY que eu estou fazendo é essa:

 

SELECT u.NOME, f.FILE_DATE,GROUP_CONCAT(f.FILE_NAME) as files_month
FROM FILES as f
join USERS as u on (f.USER_ID = U.ID)
GROUP BY f.FILE_DATE 
ORDER BY f.FILE_DATE DESC

 

Aí o resultado que está retornando é esse:

+---------+-----------+---------------------+
|   NOME  | FILE_DATE | FILES_MONTH         |
+---------+-----------+---------------------+
| FULANO1 | 2011-04-01| FILE1.XLS           |
+---------+-----------+---------------------+
| FULANO1 | 2011-05-01| FILE2.PDF,FILE2.XLS |
+---------+-----------+---------------------+
| FULANO1 | 2011-06-01| FILE3.PDF           |
+---------+-----------+---------------------+

 

Não achei muito complicado em fazer isso.

 

Mas o que eu preciso na realidade é retornar 2 colunas para os arquivos, a forma que preciso deveria ficar assim:

 

+---------+-----------+-----------+-----------+
|   NOME  | FILE_DATE | FILES_XLS | FILES_PDF |
+---------+-----------+-----------+-----------+
| FULANO1 | 2011-04-01| FILE1.XLS |           |
+---------+-----------+-----------+-----------+
| FULANO1 | 2011-05-01| FILE2.PDF | FILE2.XLS |
+---------+-----------+-----------+-----------+
| FULANO1 | 2011-06-01|           | FILE3.PDF |
+---------+-----------+-----------+-----------+

 

É isso aí que eu não estou conseguindo.

 

Desculpa o tamanho do post, mas essa foi a melhor forma que eu consegui expressar o meu pequeno problema.(kkkkkkk)

 

Agradeço a atenção de todos.

 

Obrigado!

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.