• User Newbie

    selezionare solo dati non presenti in entrambe le tabelle

    ciao,

    ho due tabelle corellate e vorei estrarre solo gli utenti della tblla A che non hanno relazioni con la tabella B.

    Ho già provato ma non riesco...

    Potete aiutarmi voi..

    grazie


  • Super User

    Ciao, presupponendo che ci sia un campo in comune tra le due tabelle e che io lo chiamo UID la prima cosa che mi viene in mente è

    select * from A where UID not In (SELECT uid from B)

    M.


  • User Newbie

    grazie ei stato chiarissmo volevo ancora chiederti una cosa:

    ti ringrazio verament tnto alla fine sono riuscito a fare qulla select.

    Volevo comunque chiederti una cosa che è l di fuori del mio progetto ma mi piacerebbe comunque conoscere.

    Supponiamo due tabelle una clienti e l'altra marche gomme (es michelin dunlop bridgestone, ecc).

    ad ogni cliente possono appertenere una o + gomme e ogni gomma può appartenere a uno o + clienti...

    La relazioni è molti a molti..

    Ma come faccio a inserire i dati? Mi spiego meglio io vorrei inserire ad sempio 10 tipologie di gomme e poi quando vado a inserire il cliente assegnarli una gomma della mi banca dati....

    Nella tbella gomme presumo di avere un id esterno correlato con la tabella clienti ma se io inserisco nuove gomme queste avranno un id esterno=0 o no?

    Grazie in anticipo


  • Super User

    Ciao, ti serve una tabella di appoggio che contenga il riferimento del cliente ed il riferimento della gomma.

    M.


  • User Newbie

    quindi una terza tabella? ma non riesco comunque a capire come le popolo...


  • User Newbie

    mi puoi indicare una guid io me la vado subito a comprare


  • Super User

    ti serve una guida di SQL secondo me. Una che ti permetta di capire le basi di dati (e non il linguaggio SQL in se). Ma non me ne viene in mente nessuna. Cerca su internet come "basi di dati tutoria"

    Per popolare la tabella è semplice: prendi l'id del cliente e per ogni ID di gomma posseduta inserisci una coppia (id_cliente, id_gomma) nella terza tabella. In questo modo sai che gomme ha il cliente e quali sono i clienti che hanno la gomma X.

    M.


  • User Newbie

    ok grazie sei stato gentile e molto paziente :)))


  • User Newbie

    Ho comprato il libro ti pongo la domanda in un modo + preciso:

    Il mio problema è fare un insert in una relazione molti a molti.
    Sono in difficolta nella scrittura del codice php di inserimento nella 3 tabella. Faccio un esempio concreto:

    Ipotesi di databse in cui voglio registrare le preferenze sportive dei contatti:

    TABELLA CONTATTI

    ID| COGNOME| NOME | INDIRIZZO
    1 | BALDI | ANDREA | PIAZZA CARDUCCI
    2 | ROSSI | FULVIO | VIA MARCONI 7

    TABELLA SPORT

    SPORT| Nome esteso
    1 | Calcio
    2 | Tennis

    TABBELA DI APPOGGIO

    ID|SPORT
    1 | 1
    2 |2

    $query ="INSERT INTO Tabella_CONTATTI Set

    COGNOME='$cognome',
    NOME = '$nome',
    INDIRIZZO='$indirizzo'";

    poi non riesco a andare avanti.........

    grazie