Fórum Select com várias tabelas #408665

21/10/2011

0

Galera eu estou precisando fazer uma consulta que me traga todos os clientes e os seguinte campos das outras tabelas relacionadas, rota, area e setor. conto com a ajuda de vocês.

Abaixo estou passando as tabelas e a estrutura de relacionamento no link abaixo;



CREATE TABLE AREAS (
    ARE_ID         INTEGER NOT NULL,
    ARE_DESCRICAO  VARCHAR(50),
    FUN_ID         INTEGER,
    USU_ID         INTEGER,
    LOJ_ID         INTEGER,
    DATA_CAD       TIMESTAMP,
    DATA_ALT       TIMESTAMP
);


CREATE TABLE SETORES (
    SET_ID         INTEGER NOT NULL,
    SET_DESCRICAO  VARCHAR(50),
    ARE_ID         INTEGER,
    USU_ID         INTEGER,
    DATA_CAD       TIMESTAMP,
    DATA_ALT       TIMESTAMP,
    ROTA1          INTEGER,
    ROTA2          INTEGER,
    ROTA3          INTEGER,
    ROTA4          INTEGER,
    ROTA5          INTEGER,
    ROTA6          INTEGER,
    ROTA7          INTEGER
);


CREATE TABLE ROTAS (
    ROT_ID         INTEGER NOT NULL,
    ROT_DESCRICAO  VARCHAR(30),
    ROT_BAIRROS    VARCHAR(500),
    DATA_CAD       TIMESTAMP,
    DATA_ALT       TIMESTAMP,
    USU_ID         INTEGER
);



CREATE TABLE CLIENTES (
    CLI_ID              INTEGER NOT NULL,
    CLI_NOME            VARCHAR(50),
    ROT_ID              INTEGER
);







http://www.7master.com.br/estrutura.gif
Sidney Abreu

Sidney Abreu

Responder

Posts

21/10/2011

Gustavo Bretas

Sidney, eu não criei a estrutura aqui no banco, então não pude testar, mas veja se esse select resolve seu problema!

SELECT C.*, R.ROT_DESCRICAO, A.ARE_DESCRICAO, S.SET_DESCRICAO
  FROM SETORES S
 INNER JOIN ROTAS R
    ON (R.ROT_ID = S.ROTA1)
    OR (R.ROT_ID = S.ROTA2)
    OR (R.ROT_ID = S.ROTA3)
    OR (R.ROT_ID = S.ROTA4)
    OR (R.ROT_ID = S.ROTA5)
    OR (R.ROT_ID = S.ROTA6)
    OR (R.ROT_ID = S.ROTA7)
 INNER JOIN AREAS A ON A.ARE_ID = S.AREA_ID
 INNER JOIN CLIENTES C ON C.ROT_ID = R.ROT_ID


Att
Responder

Gostei + 0

21/10/2011

Sidney Abreu

fiz um correção e deu certo, obrigado amigo
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar