Query di unione o Vista

di il
7 risposte

Query di unione o Vista

Ciao Amici, ho due tabelle una con i codici articoli ed una con i barCode ed i codici articoli, chiaramente la realzione è uno a Molti perche per ogni codice articolo posso avere uno o PI§ bar code, non ne rieswco a venire fuori

Devo creare una vista che motri tutti i codici articoli con i barCode associat.

PROVO A mettervi la struttura:

TABELLA barCodes

campi: barCode; codiceArticolo

VISTA MagazzinoTutto

campi: codice; descrizione;negozio

dovrei ottenere una Vista che associa a tutti i barcode della tabella Barcodes, i campo della Tabella MagazzinoTutto,

tutto ciò tramite il campo comune codiceArticolo e codice (entrambi contengono lo stesso valore)

Grazie a tutti

7 Risposte

  • Re: Query di unione o Vista

    Come hai impostato la query?

    Controlla left join o right join

    Il risultato dovrebbe essere 

    Arti barcode

    1 1234566789

    1 4566778334

    1 5738737373

    Ecc… ecc.. per ogni articolo?

  • Re: Query di unione o Vista

    Grazie per l attenzione: se uso:

     SELECT MagazzinoTutto.codice, MagazzinoTutto.descrizione, barCodes.codiceArticolo
    FROM MagazzinoTutto
    LEFT JOIN barCodes ON MagazzinoTutto.codice = barCodes.codiceArticolo

    mi da la colonna codiceArticolo sempre = a NULL

    Viceversa se uso:

    SELECT MagazzinoTutto.codice, MagazzinoTutto.descrizione, barCodes.codiceArticolo
    FROM MagazzinoTutto
    RIGHT JOIN barCodes ON MagazzinoTutto.codice = barCodes.codiceArticolo

    mi da le colonne : codice e descrizione sempre= a NULL

    Se invece uso solo join, mi restituisce ZERO righe cioè non trova nulla!!!

    Cosa SBAGLIO????

    GRAZIE

  • Re: Query di unione o Vista

    Cosa succede se fai inner join?

  • Re: Query di unione o Vista

    Pare che i campi non hanno elementi comuni…

  • Re: Query di unione o Vista

    Se faccio inner join dice che non trova niente

  • Re: Query di unione o Vista

    27/06/2023 - ridaria ha scritto:


    Se faccio inner join dice che non trova niente

    Sei sicura che ci siano valori uguali in quei campi?

  • Re: Query di unione o Vista

    Manca un'informazione importante: il tipo dei dati.

    Per prima cosa verifica che in quei due campi (codice e codiceArticolo) ci siano gli stessi valori.

    Se sono valori numerici, verifica che i campi di entrambe le tabelle siano dello stesso tipo: un numero intero puoi memorizzarlo anche in un campo di tipo testo, ma non sarà uguale allo stesso valore memorizzato in un campo di tipo INT.

    Se sei certa che i campi siano dello stesso tipo e che contengono gli stessi dati e magari i due campi sono di tipo VARCHAR (è una mia supposizione, non avendo altri elementi) proverei a verificare che non vi sia un problema di spazi (prima e/o dopo il valore) che a video non vedi:

    SELECT M.codice, M.descrizione, B.codiceArticolo
    FROM MagazzinoTutto M
      LEFT JOIN barCodes B ON TRIM(M.codice) = TRIM(B.codiceArticolo)

    In questo modo la join viene fatta trimmando gli spazi (iniziali e finali).

Devi accedere o registrarti per scrivere nel forum
7 risposte