Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di kobe83
    Registrato dal
    Sep 2008
    Messaggi
    89

    [SQL] chiavi esterne e inner join

    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...
    Ci sono TRE tipi di persone al mondo: quelli che ragionano in binario e quelli che no

  2. #2
    Utente di HTML.it L'avatar di kobe83
    Registrato dal
    Sep 2008
    Messaggi
    89
    up.

    Please help..
    Ci sono TRE tipi di persone al mondo: quelli che ragionano in binario e quelli che no

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.