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;
http://www.7master.com.br/estrutura.gif
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
Curtir tópico
+ 0
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!
Att
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_IDAtt
Responder
Gostei + 0
21/10/2011
Sidney Abreu
fiz um correção e deu certo, obrigado amigo
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)