Ricardo César Cardoso wrote:
> Boa tarde amigos da lista!
> 
> Estou com uma dúvida e gostaria de sua ajuda.
> 
> Imagine a seguinte estrutura de tabelas:
> 
> Tabela Eventos:
> IDEVENTO
> DESCRICAO
> 
> Tabela OCORRENCIAS
> IDTRABALHO
> IDOCORRENCIA
> DESCRICAO
> DATA
> HORA
> IDEVENTO
> 
> E como registros de exemplo:
> 
> Tabela EVENTOS:
> IDEVENTO | DESCRICAO
> 1 | PREPARAÇÃO - INÍCIO
> 2 | PREPARAÇÃO - FIM
> 3 | DIMENSIONAL - INÍCIO
> 4 | DIMENSIONAL - FIM
> 
> Tabela OCORRENCIAS
> 
> IDTRABALHO | IDOCORRENCIA | DESCRICAO | DATA | HORA | IDEVENTO
> 1 | 1 | ENTRADA MATERIAL PREPARAÇÃO | 09/05/2007 | 14:00 | 1
> 1 | 2 | MATERIAL PREPARADO | 09/05/2007 | 15:00 | 2
> 1 | 3 | MEDIÇÃO COMPRIMENTO | 09/05/2007 | 15:20 | 1
> 1 | 4 | TÉRMINO DA MEDIÇÃO | 09/05/2007 | 17:00 | 1
> 
> O que eu preciso fazer é criar um grid (ou um DBGrid) onde as informações 
> sejam apresentadas como abaixo:
> 
> IDTRABALHO | PREPARAÇÃO - INICIO | PREPARAÇÃO - FIM | DIMENSIONAL - INICIO | 
> DIMENSIONAL - FIM
> 1 | 09/05/2007 - 14:00 | 09/05/2007 - 15:00 | 09/05/2007 - 15:20 | 09/05/2007 
> - 17:00
> 
> A questão é: como fazer isso? 

Algo desta natureza:

select
   idtrabalho,
   (select data from ocorrencias where idocorrencia=1) as data_prep_inicio,
   ...
from
   ocorrencias
group by
   idtrabalho;

Índices ajudam a não arriar o banco.

--
Joao Morais

Responder a