[firebase-br] Relatorio com varias tabelas!

Ricardo Ferreira Sobrinho ricardoif em gmail.com
Sex Ago 22 16:53:47 -03 2008


Saudações a todos!

Estou precisando de uma ajuda na montagem de um relatório da seguinte forma:
--------------------------------------------------------------
PERIODO                 | EXPOSICAO
--------------------------------------------------------------
01/01/2000 a            | etc ................................ 01/01/2001 a
15/05/2001 | agentes quimícos - agrotóxico    14/08/2003 a 31/12/2004 | etc
................................    26/04/2008 a            | etc
................................
--------------------------------------------------------------

O relatório deverá ser montado por funcionário, onde a consulta devera
trazer todas as suas exposições por: seu setor, seu cargo, sua matricual,
etc.

A origem das informações viriam das tabelas abaixo:

----------------------------------------------------------------------------
CREATE TABLE EXP_SETOR (
    ID         INTEGER NOT NULL,
    SETOR      INTEGER NOT NULL,
    D_INICIO   DATE NOT NULL,
    D_FIM      DATE,
    EXPOSICAO  VARCHAR(50) NOT NULL
);

CREATE TABLE EXP_CARGO (
    ID         INTEGER NOT NULL,
    CARGO      INTEGER NOT NULL,
    D_INICIO   DATE NOT NULL,
    D_FIM      DATE,
    EXPOSICAO  VARCHAR(50) NOT NULL
);

/* esposição conjunta do setor + cargo */
CREATE TABLE EXP_SETCAR (
    ID         INTEGER NOT NULL,
    SETOR      INTEGER NOT NULL,
    CARGO      INTEGER NOT NULL,
    D_INICIO   DATE NOT NULL,
    D_FIM      DATE,
    EXPOSICAO  VARCHAR(50) NOT NULL
);

CREATE TABLE EXP_FUNCIONARIO (
    ID           INTEGER NOT NULL,
    FUNCIONARIO  INTEGER NOT NULL,
    D_INICIO     DATE NOT NULL,
    D_FIM        DATE,
    EXPOSICAO    VARCHAR(50) NOT NULL
);
----------------------------------------------------------------------------

Ou seja: preciso rastrear as informações dispostas em tabelas diferentes,
numa mesma consulta, ordeando por data.
Se eu que as informações do funcionario X, preciso saber todas as exposições
do seu Setor, do seu Cargo, do seu Id, etc
Como fazer Isso?
Com uma Stored Procedure Selecionável?

Agradeço a ajuda!



Mais detalhes sobre a lista de discussão lista