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

    [SQLITE] collegare 2 tabelle tramite record nulli

    Capisco che il titolo sia un pò strano ma non sapevo proprio come fare.

    Ho 2 tabelle, Tabella A e Tabella B con la seguente struttura:

    TABELLA A
    --------------------
    ID|CAMPO1|CAMPO2|...

    TABELLA B
    --------------------
    ID|IDTabA|CAMPO1|...

    In sostanza nella Tabella B c'è un campo (IDTabA) che lega il record della tabella con uno della Tabella B, quando invece il valore IDTabA è 0 vuol dire che il record della Tabella B non ha un collegamento con la Tabella A.

    Ora io vorrei sapere quali record della Tabella B hanno IDTabA > 0 (ovvero sono collegati con la Tabella A) ma nella Tabella A non esiste più il record corrispondente (perchè eliminato).

    Vedo di spiegare la cosa con un esempio pratico:

    TABELLA A
    --------------------
    ID|CAMPO1|CAMPO2|
    1 |MELA |ROSSA |
    2 |PERA |GIALLA |

    TABELLA B
    --------------------
    ID|IDTavA|CAMPO1|
    1 |2 |2 PIPPO |
    2 |1 |1 PLUTO|

    Nel mio esempio il record 1 della Tabella B è legato con il record 2 della Tabella A (e vice versa).

    Ora immaginiamo che il record 2 della Tabella A venga eliminato, il legame non susiste più dato che nella Tabella A non c'è più in record con ID = 2 (IDTavA).

    Con quale query posso avere l'elenco di tutti gli ID dei record della Tabella B che presenta questo problema?

    Spero di essermi spiegato.

    Grazie.

  2. #2
    select colonne from tab1 left join tab2 on tab1.colonnajoin=tab2.colonnajoin where tab2.colonnajoin is null

    that easy!

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.