Re: [delphi-br] Relação muitos-para-muitos. . socorro!

2008-11-19 Por tôpico Alosi yahoo
eu trabalharia com a tabela MODCLI assim:


CREATE TABLE MODCLI (
MODCL_CODIGOCLIENTE INTEGER NOT NULL,
MODCL_CODIGOMODALIDADE INTEGER NOT NULL);




Fabio R Cardoso escreveu:
 Senhores, tenho 3 tabelas, Clientes, Modalidades e Codcli. Clientes e 
 Modalidades tem relação muitos-para-muitos. Para trabalhar com elas, 
 criei a tabela Modcli. As ddls delas estão abaixo:

 CREATE TABLE CLIENTES (
 CLIEN_CODIGO integer NOT NULL,
 CLIEN_NOME VARCHAR(50) NOT NULL);
 commit;

 CREATE TABLE MODALIDADES (
 MODAL_CODIGO INTEGER NOT NULL,
 MODAL_CLIENTECODIGO INTEGER,
 MODAL_DESCRICAO VARCHAR(50));
 commit;

 ALTER TABLE MODALIDADES ADD CONSTRAINT PK_MODALCODIGO PRIMARY KEY 
 (MODAL_CODIGO) USING INDEX IDX_MODALCODIGO;
 commit;

 ALTER TABLE MODALIDADES ADD CONSTRAINT FK_MODALCODIGOCLIENTE FOREIGN KEY 
 (MODAL_CLIENTECODIGO) REFERENCES CLIENTES (CLIEN_CODIGO) USING INDEX 
 IDX_MODALCODIGOCLIENTE;
 commit;

 CREATE TABLE MODCLI (
 MODCL_CODIGO INTEGER NOT NULL,
 MODCL_CODIGOCLIENTE INTEGER,
 MODCL_CODIGOMODALIDADE INTEGER);
 COMMIT;

 ALTER TABLE MODCLI ADD CONSTRAINT PK_MODCLICODIGO PRIMARY KEY 
 (MODCL_CODIGO)
 USING INDEX IDX_MODCLCODIGO;
 COMMIT;

 ALTER TABLE MODCLI ADD CONSTRAINT FK_MODCLICODIGOCLIENTE FOREIGN KEY 
 (MODCL_CODIGOCLIENTE) REFERENCES CLIENTES (CLIEN_CODIGO) USING INDEX 
 IDX_MODCLCODIGOCLIENTE;
 COMMIT;

 ALTER TABLE MODCLI ADD CONSTRAINT FK_MODCLICODIGOMODALIDADE FOREIGN KEY 
 (MODCL_CODIGOMODALIDADE) REFERENCES MODALIDADES (MODAL_CODIGO) USING 
 INDEX IDX_MODCLCODIGOMODALIDADE;
 COMMIT;


 A pergunta é: Como faço o select do SQL para trabalhar com a tabela Modcli?


 Grato,
 Fabio


 

   



Re: [delphi-br] Relação muitos-para-muitos.. socorro!

2008-11-19 Por tôpico JB
vc nao precisa do campo MODAL_CLIENTECODIGO na tabela modalidade.

select a.MODCL_CODIGOCLIENTE, b. CLIEN_NOME, a.MODCL_CODIGOMODALIDADE,
c. MODAL_DESCRICAO
from
MODCLI a
inner join CLIENTES b on b.CLIEN_CODIGO = a.MODCL_CODIGOCLIENTE
inner join MODALIDADES c on c.MODAL_CODIGO = a.MODCL_CODIGOMODALIDADE


Att.

-- 

José Benedito
Software Developer
[EMAIL PROTECTED]
+55 19 8116-7826


Re: [delphi-br] Relação muitos-para-muitos.. socorro!

2008-11-19 Por tôpico JB
tb acho q pra esse caso o campo MODCL_CODIGO fica obsoleto, pois a
chave passa a ser cliente e modalidade na tabela modcli...

Att.

-- 

José Benedito
Software Developer
[EMAIL PROTECTED]
+55 19 8116-7826


Re: [delphi-br] Relação muitos-para-muitos. . socorro!

2008-11-19 Por tôpico Fabio R Cardoso
Resolvido. Muito obrigado a Alosi e JB!

abraço a todos.
Fabio.