Ciao!
forse qualcuno mi puoi aiutare..
Premessa - creo le seguenti tabelle su un db Access 2003:
codice:
CREATE TABLE `testata` (`n_doc` integer NOT NULL,
`data_doc` date NOT NULL,
`tipo_doc` string NOT NULL,
`cod_cli` string ,
`cod_pagamento` integer,
`note` string,
`trattenute` double ,
`anticipo` double,
primary key(n_doc, data_doc, tipo_doc))
codice:
CREATE TABLE `clienti` (`cod_cli` string NOT NULL,
`cod_pagamento` integer NOT NULL,
`ragione_sociale` string ,
`indirizzo` string ,
`cap` integer ,
`localita` string ,
`provincia` string ,
`cod_fisc` numeric,
`p_iva` numeric,
`iban` numeric,
`descr_banca` string,
primary key(cod_cli))
e vorrei fare un inner join tra le due tabelle come nel seguente caso:
codice:
select clienti.cod_cli from clienti inner join testata on clienti.cod_cli = testata.cod_cli
il problema è che la sintassi è corretta, ma non vi è alcun risultato.
Mi sono documentato ed ho scoperto che è necessario creare nella tabella 'testata' una chiave estera che faccia riferimento al campo cod_cli della tabella clienti.
Dopo innumerevoli tentativi sono giunto a questo risultato:
codice:
CREATE TABLE `testata` (`n_doc` integer NOT NULL primary key,
`data_doc` date NOT NULL,
`tipo_doc` string NOT NULL,
`cod_pagamento` integer,
`note` string,
`trattenute` double ,
`anticipo` double,
`cod_cli` string CONSTRAINT fk_testata_cod_cli REFERENCES clienti (`cod_cli`))
La tabella viene creata, ma non ho modo ne di avere 3 chiavi primarie, ne di inserire dati nella tabella.
Insomma... non ci stò campendo una mazza e faccio sempre più confusione.
Vi sarei molto grato se poteste darmi qualche delucidazione a riguardo e magari un paio di consigli su come creare questa benedetta tabella 'testata' con le sue tre chiavi primarie e la sua chiave esterna.

edit:
Sono riuscito a creare una chiave esterna con la query:
codice:
ALTER TABLE `testata` ADD CONSTRAINT chiavecodcli FOREIGN KEY (cod_cli)REFERENCES clienti
ma mi dà questo avviso quando vado ad aggiungere i record nella tabella testata:
Impossibile aggiungere o modificare il record. nella tabella "clienti" è necessario un record correlato...