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))e vorrei fare un inner join tra le due tabelle come nel seguente caso: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))
il problema è che la sintassi è corretta, ma non vi è alcun risultato.codice:select clienti.cod_cli from clienti inner join testata on clienti.cod_cli = testata.cod_cli
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:
La tabella viene creata, ma non ho modo ne di avere 3 chiavi primarie, ne di inserire dati nella tabella.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`))
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:
ma mi dà questo avviso quando vado ad aggiungere i record nella tabella testata:codice:ALTER TABLE `testata` ADD CONSTRAINT chiavecodcli FOREIGN KEY (cod_cli)REFERENCES clienti
Impossibile aggiungere o modificare il record. nella tabella "clienti" è necessario un record correlato...


Rispondi quotando
