Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [MySQL] Join articolato su 3 tabelle

    Salve,
    sto impazzendo per eseguire una query su 3 tabelle:

    - nelle tabelle 1 e 2 ci sono solo i campi: id auto-increment e il valore
    - nella tabella 3 ci sono i campi: id auto-increment, id della tabella 1, id della tabella 2


    tabella1
    -------------
    id | valore

    tabella2
    -------------
    id | valore

    tabella3
    ------------------------
    id | id_t1 | id_t2


    Vorrei estrarre tutti i record delle tabelle 1 e 2 che non esistono nella tabella 3, utilizzando (id_t1 + id_t2) come chiave univoca.

    es:

    Risultato della query:
    ----------------------------------------------
    valore_t1 | valore_t2
    valore_t1 | valore_t2
    valore_t1 | valore_t2
    valore_t1 | valore_t2
    valore_t1 | valore_t2


    E' possibile farlo?

  2. #2
    Quote Originariamente inviata da w_t Visualizza il messaggio
    Salve,
    ..
    Vorrei estrarre tutti i record delle tabelle 1 e 2 che non esistono nella tabella 3, utilizzando (id_t1 + id_t2) come chiave univoca.

    es:

    Risultato della query:
    ----------------------------------------------
    ...
    mica è tanto chiaro .

    Intanto, quando dici "utilizzando (id_t1 + id_t2) come chiave univoca"
    intendi che non devono esserci nè id_t1 e nè id_t2 o basta che non ci sia riscontro per uno solo ?

    Inoltre hai messo il risultato della query ma non i dati di partenza .

    Metti sia dati significativi che risultato con essi congruente che si capisce meglio.

    Il massimo sarebbe usare http://sqlfiddle.com/ così si evita di parlare a vanvera
    e tutti possono provare senza essere costretti a ricrearsi la tua situazione;
    ... se fai questo sforzo è molto probabile che arrivino risposte a frotte

    HTH
    Ultima modifica di sspintux; 09-01-2021 a 21:05
    /* --- */
    O santo protettore del'informatico quadratico medio , se puoi allontana da me questo cetriolo amaro!

  3. #3
    Quote Originariamente inviata da sspintux Visualizza il messaggio
    intendi che non devono esserci nè id_t1 e nè id_t2 o basta che non ci sia riscontro per uno solo ?
    La prima: non devono esserci ne id_t1 e ne id_t2

    Quote Originariamente inviata da sspintux Visualizza il messaggio
    Inoltre hai messo il risultato della query ma non i dati di partenza .

    Metti sia dati significativi che risultato con essi congruente che si capisce meglio.
    tabella1
    -------------
    1 | Mario Rossi
    2 | Giuseppe Verdi
    3 | Galileo Galilei
    4 | Rocco Siffredi
    5 | Pamela Prati

    tabella2
    -------------
    1 | Facebook
    2 | Instagram
    3 | LinkedIn
    4 | YouTube
    5 | Pinterest

    tabella3
    ------------------------
    1 | 2 | 2
    2 | 4 | 3


    Risultato della query:
    ----------------------------------------------
    Mario Rossi | Facebook
    Galileo Galilei | YouTube
    Pamela Prati| Pinterest


    Ma credo che mentre scrivevo questo esempio per te mi sono risposto da solo...

    Fino a che le tabelle 1 e 2 hanno una quantità di record equivalenti tutto è ok, nel momento che una delle due ha più record dell'altra come facciamo?

    Verrà fuori una cosa del genere:

    Risultato della query:
    ----------------------------------------------
    Mario Rossi | Facebook
    Galileo Galilei | null
    null | Pinterest

  4. #4
    Quote Originariamente inviata da w_t Visualizza il messaggio
    ...
    Fino a che le tabelle 1 e 2 hanno una quantità di record equivalenti tutto è ok, nel momento che una delle due ha più record dell'altra come facciamo?
    ...
    mi sembra che la questione si stia ingarbugliando ;
    secondo me è meglio se fai un esempio con dati significati su http://sqlfiddle.com/
    /* --- */
    O santo protettore del'informatico quadratico medio , se puoi allontana da me questo cetriolo amaro!

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 © 2021 vBulletin Solutions, Inc. All rights reserved.